LNMP網站部署
阿新 • • 發佈:2021-08-08
LNMP網站部署
部署LNMP架構
1.安裝nginx
[Wed Jul 21 22:00:51 root@web01 ~]
# yum install -y nginx
2.安裝php
# 1.更改yum源 [Wed Jul 21 22:06:49 root@web01 ~] # wget http://us-east.repo.webtatic.com/yum/el7/webtatic-release.rpm [Wed Jul 21 22:11:47 root@web01 ~] # yum localinstall webtatic-release.rpm -y # 2.生成快取 [Wed Jul 21 22:21:11 root@web01 ~] # yum makecache # 3.安裝php [Wed Jul 21 22:21:11 root@web01 ~] # yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb # 4.統一使用者 ## 建立www使用者組 [Wed Jul 21 22:21:11 root@web01 ~] # groupadd www -g 666 ## 建立www使用者 [Wed Jul 21 22:23:18 root@web01 ~] # useradd www -u 666 -g 666 -s /sbin/nologin -M ## 修改nginx配置檔案使用www使用者 [Wed Jul 21 22:24:01 root@web01 ~] # vim /etc/nginx/nginx.conf user www; ## 修改php服務使用www使用者 [Wed Jul 21 22:25:12 root@web01 ~] # vim /etc/php-fpm.d/www.conf user = www group = www # 5.啟動php-fpm [Wed Jul 21 22:26:32 root@web01 ~] # systemctl start php-fpm # 6.加入開機自啟 [Wed Jul 21 22:27:28 root@web01 ~] # systemctl enable php-fpm Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service. # 7.檢查php的程序 [Wed Jul 21 22:27:59 root@web01 ~] # ps -ef|grep '[p]hp-fpm' root 7850 1 0 22:27 ? 00:00:00 php-fpm: master process (/etc/php-fpm.conf) www 7851 7850 0 22:27 ? 00:00:00 php-fpm: pool www www 7852 7850 0 22:27 ? 00:00:00 php-fpm: pool www www 7853 7850 0 22:27 ? 00:00:00 php-fpm: pool www www 7854 7850 0 22:27 ? 00:00:00 php-fpm: pool www www 7855 7850 0 22:27 ? 00:00:00 php-fpm: pool www # 8.檢查php埠 [Wed Jul 21 22:30:15 root@web01 ~] # netstat -lntup|grep 9000 tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 7850/php-fpm: maste
3.安裝資料庫
# 1.安裝mariadb [Thu Jul 22 06:35:45 root@db01 ~] # yum install -y mariadb-server # 2.啟動mariadb [Thu Jul 22 06:35:45 root@db01 ~] # systemctl start mariadb # 3.開機自啟mariadb [Thu Jul 22 06:49:47 root@db01 ~] # systemctl enable mariadb Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service # 4.檢查MySQL埠 [Thu Jul 22 06:52:15 root@db01 ~] # netstat -lntup|grep 3306 tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 7372/mysqld # 5.檢查MySQL程序 Thu Jul 22 06:56:57 root@db01 ~] # ps -ef|grep '[m]ysqld' mysql 7207 1 0 06:49 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe --basedir=/usr mysql 7372 7207 0 06:49 ? 00:00:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mariadb.log --pid-file=/var/run/mariadb/mariadb.pid --socket=/var/lib/mysql/mysql.sock # 6.設定mariadb密碼為123 [Thu Jul 22 06:57:28 root@db01 ~] # mysqladmin -uroot password '123' # 7.客戶端連線命令 [Thu Jul 22 06:58:19 root@db01 ~] # mysql -uroot -p123
部署部落格軟體(wordpress)
#建立站點目錄 [Wed Jul 21 23:07:25 root@web01 ~] # mkdir /code # 1.下載wordpress [Wed Jul 21 23:08:33 root@web01 /code] # wget https://wordpress.org/latest.tar.gz # 2.解壓 [Wed Jul 21 23:11:58 root@web01 /code] # tar xf latest.tar.gz # 3.遞迴修改wordpress檔案許可權 [Wed Jul 21 23:18:08 root@web01 /code] # chown -R www.www /code/wordpress # 4.編寫wordpress的nginx配置檔案 # vim /etc/nginx/conf.d/blog.conf server { listen 80; server_name localhost; root /code/wordpress; location / { index index.php index.html; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } } # 5.連線到MySQL中,建立一個給wordpress使用的庫 [Thu Jul 22 06:58:19 root@db01 ~] # mysql -uroot -p123 ### 建立資料庫 庫名wp 字符集是utf8 MariaDB [(none)]> create database wp charset utf8; ### 檢視有幾個庫 MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | | wp | +--------------------+ 5 rows in set (0.00 sec) # 6.開啟瀏覽器訪問http://10.0.0.7 在這之前需要重新載入一下配置檔案 [Wed Jul 21 23:21:34 root@web01 /code] # systemctl restart nginx [Wed Jul 21 23:26:32 root@web01 /code] # systemctl restart php-fpm
#因資料庫是搭載在10.0.0.51上了 所以此時部落格需要和那邊的資料庫要連線上
Nginx部署知乎專案
#首先修改一下php配置檔案
[Wed Jul 21 23:50:35 root@web01 /code/wordpress/wp-content/languages]
vim /etc/php-fpm.d/www.conf
;listen = 127.0.0.1:9000
listen = /opt/wk.sock
#在重新啟動一下php服務
[Thu Jul 22 00:24:32 root@web01 /code]
# systemctl restart php-fpm
#檢視一下opt目錄
[Thu Jul 22 00:24:57 root@web01 /code]
# ll /opt/
total 0
srw-rw----. 1 root root 0 Jul 22 00:24 wk.sock
#(做這個目的是為了對外不暴露埠,做這個目的是為了對外不暴露埠 安全 速度快)
# 修改nginx配置檔案
[Thu Jul 22 00:20:28 root@web01 /code]
# vim /etc/nginx/conf.d/zh.conf
server{
listen 80;
server_name zh.wk.com;
root /code/zh;
location / {
index index.php index.html;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/opt/wk.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
# 檢查nginx配置檔案語法
[Thu Jul 22 00:21:46 root@web01 /code]
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# 重新載入nginx配置
[Thu Jul 22 00:23:06 root@web01 /code]
# systemctl reload nginx
#這個操作過之後,除了修改知乎的配置檔案 部落格的也需要在更改一下 要不然就無法正常登入會報錯502 因為Nginx連不上PHP了
[Thu Jul 22 00:30:58 root@web01 /code]
# vim /etc/nginx/conf.d/blog.conf
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/opt/wk.sock;
#修改完之後重新載入 ~
[Thu Jul 22 00:31:45 root@web01 /code]
# systemctl reload nginx
# 修改socket檔案許可權
[Thu Jul 22 00:33:37 root@web01 /code]
# ll /opt/
total 0
srw-rw----. 1 root root 0 Jul 22 00:24 wk.sock
[Thu Jul 22 00:36:15 root@web01 /code]
# chown www.www -R /opt/wk.sock
#修改完 zh目錄許可權為www 之後 記得在域名解析檔案中 解析一下域名10.0.0.7 zh.wk.com blog.wk.com
# 下載wecenter
[Thu Jul 22 00:36:19 root@web01 /code]
# wget http://test.driverzeng.com/Nginx_Code/WeCenter_3-2-1.zip
#解壓
[Thu Jul 22 00:38:05 root@web01 /code]
# unzip WeCenter_3-2-1.zip
# 修改wecenter名字
[Thu Jul 22 00:38:49 root@web01 /code]
# mv WeCenter_3-2-1 zh
# 修改許可權
[Thu Jul 22 00:39:25 root@web01 /code]
# chown -R www.www zh/
# 配置知乎資料庫
[Thu Jul 22 08:40:47 root@db01 ~]
# mysql -uroot -p123
MariaDB [(none)]> create database zh charset utf8;
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| wp |
| zh |
+--------------------+
6 rows in set (0.00 sec)