?
搭建 LNMP 建站環(huán)境方法步驟如下:
1、安裝 CentOS 8 系統
下載 CentOS 8 鏡像文件
制作啟動(dòng)盤(pán)并啟動(dòng)虛擬機
設置 root 用戶(hù)密碼和創(chuàng )建普通用戶(hù)
2、更新系統軟件包
運行以下命??令更新系統軟件包:
“`
sudo yum update y
“`
3、安裝 Nginx
運行以下命令安裝(⊙_⊙) Nginx:
̶(′▽?zhuān)?0;`
sudo yum install epelrelease y
sud??o yum install nginx(?⊿?) y
“`
4、啟動(dòng)ヾ(′?`)? Nginx 服務(wù)并設置開(kāi)機自啟動(dòng)
運行以(yi)下命令啟動(dòng) Nginx 服務(wù):
“`
sudo systemc??tl st(′ω`*)art nginx
“`
“`
sudo systemctl ena(╬ ò﹏ó)ble nginx
R(′?_?`)20;`
5、安裝 MySQL
運(yun)行以下命令安裝 MySQL:
“`
sud??o yum install mariadbserver y
“`
運行以下命令啟動(dòng) MySQL 服務(wù):
“`
sudo systemctl st??art mari( ?ヮ?)adb
“??`
運行以下命令設置 MySQL 開(kāi)機自??啟動(dòng):
“`
sudo systemctl enable mariadb
“??;`
6、配置 Nginx PHPFPM 環(huán)境
運行以下命令安裝 EPEL(Extra Packages for Enterprise Linux):
“`
sudo yum install epelrel(′?_?`)ease y
運行以下命令安裝 PHPFPM:
“`
sudo yum install phpfpm y
“`
修改 PHPFPM 配置文件 /etc/phpfpm.d/www.conf,添加以下內容:
“`ini
user = wwwdata
group = wwwd??ata
listen = /var/run/phpfpm/phpfpm.sock
lis(′?ω?`)ten.owner = wwwdata
listen.group = wwwdata
listen.mode = 0660
error_log = /var/log/phpfpm/error.log
access.log = /var/log/phpfpm/access.log
request_slowlog_timeout = 300s
slowlog = /var/log/phpfpm/request_slowlog.log
process_manager = dynamic
pm.max_children = 50
pm.start??_servers = 5
pm.min_spare_serveヾ(′▽?zhuān)??rs = 5
pm.max_spare_servers = 35
pm.max_requests = 500??
security.limit_extensions = ".php"
(′▽?zhuān)?)220;`
重啟?? PHPFPM 服務(wù):
“`
sud(′?`*)o systemctl restart phpfpm
“`
修改 Nginx 配置文件 /etc/nginx/conf.d/default.conf,添加以下內容:
“`n??ginx
server {
listen 80(???);??
server_name example.com; #替換為你的域名(ming)或IP地址
root /usr(╬ ò﹏ó)/share/nginx/html; #網(wǎng)站根目錄,可以根據需要修改路(′?`)徑和名稱(chēng)
index index.ph(╬?益?)p index.html index.htm; #默認首頁(yè)文件名,(??-)?可以根據需要修改??順序和名稱(chēng)列??表
error_page 500 502 503 504 /50x.html; #自定義錯誤頁(yè)面,可以根據需要修改錯誤代碼和頁(yè)面名稱(chēng)及(ji)路徑關(guān)系,這里將50(′ω`)x錯誤重定向到50x.html頁(yè)面,也可以使用rewrite指令將錯誤重定向到其他頁(yè)面,建議將該指令放在servヾ(′▽?zhuān)??er塊中,如果放在http塊中(zhong),則無(wú)法生效,ヽ(′▽?zhuān)?ノ因為http塊中的location匹配的是URI??,而erヽ(′?`)ノror_page匹配的是狀態(tài)碼,所以當出現錯誤時(shí),Nginx會(huì )返回一個(gè)狀態(tài)碼,而不是一個(gè)URI,在http塊中使用error_page指令無(wú)法捕獲到這些狀態(tài)碼,只有在server塊中使用error_page指令才能正確捕獲到這些狀態(tài)碼,由于Nginx的請??求處理流程是先檢查URI是否匹配location,然后再檢查狀態(tài)碼是否匹配error_page,所以當出現錯誤時(shí),如果location匹配到了一個(gè)(ge)具體的URI,那么就不會(huì )去匹配error_pa??ge了,在server塊中使用error_page指令可以確保在任何情況下都能正確處理錯誤頁(yè)面,??還可以使用try_files指令來(lái)嘗試訪(fǎng)問(wèn)靜態(tài)文件,如果靜態(tài)文件不存在,則返回指定的錯誤頁(yè)面,try_files $uri $uri/ /index.php?$query_string;表示首先嘗試訪(fǎng)問(wèn)請求的URI或其對應的目錄,如果找不到對應的文件或目錄??,則返回index.php頁(yè)面進(jìn)行處理,注意:try_??files指(zhi)令只能用于處理靜態(tài)文件請求,對于PHP腳??本請求,應該使用fastcgi_pass指令將其轉發(fā)給PHP解釋器進(jìn)??行處理,不要忘記在Nginx配置文件中添加location ~ .php$ { fastcgi??_pass unix:/var/run/php/php7.2fpm.sock; }這行代碼來(lái)指定PHP解釋器的Unix套接字文件路徑,這個(gè)路徑可能因不同的PHP(′?`)版本而有所不同,請根據實(shí)際情況進(jìn)行修改。