部署LNMP環境
安裝軟件
#在前一天已經安裝nginx的基礎上安裝MariaDB,php和php-fpm
yum -y install mariadb? mariadb-server mariadb-devel php php-mysqlnd php-fpm
#mariadb(數據庫客戶端軟件)、mariadb-server(數據庫服務器軟件)、mariadb-devel(依賴包)、php(識別php語言)、php-fpm(進程管理器服務)、php-mysqlnd(PHP的數據庫擴展包)
啟動Nginx服務,MySQL服務
/usr/local/nginx/sbin/nginx
ss -antlp | grep 80
systemctl enable --now mariadb? #加入開機自啟并立即啟動
systemctl status mariadb? #查看服務狀態
啟動PHP-FPM服務
systemctl enable --now php-fpm? #加入開機自啟并立即啟動
systemctl status php-fpm????????? #查看服務狀態
使用PHP測試頁面
#拷貝動態網站測試頁面到nginx中
cp /root/lnmp_soft/php_scripts/test.php /usr/local/nginx/html/? ?
使用瀏覽器訪問192.168.88.5/test.php 則無法看到頁面內容,而是會當成要下載的文件,因為無法解析php動態頁面
配置動靜分離
使用IP端口方式連接——
通過調整Nginx服務端配置,實現以下目標:
配置Fast-CGI支持PHP網頁解析
Fast-CGI是快速公共(通用)網關接口,可以連接如nginx等網站程序到網站的語言解釋器(比如php) ,php-fpm進程使用了Fast-CGI解析動態網站頁面
#修改Nginx配置文件并啟動服務
vim /usr/local/nginx/conf/nginx.conf
...
65???????? location ~ \.php$ {???? #~是使用正則表達式匹配以.php結尾,\ 轉義
66???????????? root?????????? html;
67???????????? fastcgi_pass?? 127.0.0.1:9000;? #將請求轉發給本機php-fpm的9000端口
68???????????? fastcgi_index? index.php;?????? #網站默認頁
69???????????? include??????? fastcgi.conf;??? #加載fastcgi配置文件
70???????? }
#修改 php-fpm配置文件
vim /etc/php-fpm.d/www.conf
38 listen = 127.0.0.1:9000???? #更改php-fpm端口號(使用網絡通信)
115 pm.max_children = 50??????? #最大進程數量(了解)
120 pm.start_servers = 5??????? #最小進程數量(了解)
ystemctl restart php-fpm??? #重啟服務
ss -antlp | grep 9000?????? #查看監聽端口
#測試
#啟動或者重加載nginx
/usr/local/nginx/sbin/nginx -s reload
再次使用瀏覽器訪問192.168.88.5/test.php 可以看到頁面內容
使用socket方式連接——
#更改php-fpm配置
vim /etc/php-fpm.d/www.conf
38 listen = /run/php-fpm/www.sock??????????????? #socket方式(使用進程通信)
55 listen.acl_users = apache,nginx,nobody??????? #添加nobody賬戶
systemctl restart php-fpm??? #重啟服務
#修改Nginx配置文件并啟動服務
vim /usr/local/nginx/conf/nginx.conf
...
65???????? location ~ \.php$ {???? #匹配以.php結尾
66???????????? root?????????? html;
67???????????? fastcgi_pass?? unix:/run/php-fpm/www.sock;? #將請求轉發給php-fpm進程
68???????????? fastcgi_index? index.php;
69???????????? include??????? fastcgi.conf;??????? #加載fastcgi配置文件
70???????? }
/usr/local/nginx/sbin/nginx -s reload
使用瀏覽器訪問192.168.88.5/test.php 可以看到頁面內容