Ununtu服務(wù)器安裝Nginx與PHP
1. 安裝Nginx:
1.1
sudo apt update
sudo apt install nginx
驗(yàn)證結(jié)果,使用命令:
sudo systemctl status nginx
若有結(jié)果如下則說(shuō)明成功:
但注意,此時(shí)只是在服務(wù)器上配置好了nginx,執(zhí)行nginx -v
應(yīng)當(dāng)可以看到版本號(hào)。此外,如果對(duì)nginx更新了配置,如增加了PHP解釋,則應(yīng)當(dāng)重啟nginx服務(wù)器:
sudo systemctl restart nginx
1.2
但是從外界還是無(wú)法訪問(wèn),所以我們還需要配置防火墻,使用UFW防火墻管理工具可以輕松完成:
安裝UFW:
sudo apt-get install ufw -y
啟動(dòng)UFW服務(wù):
sudo ufw enable
(或者相反的,也可以關(guān)閉/重置防火墻,下面命令不在安裝流程內(nèi),不要執(zhí)行)
sudo ufw disable
sudo ufw reset
!注意:一定要先開(kāi)啟ssh端口的開(kāi)放,不然下次連接就G了?。?!連不上了?。。?/strong>
sudo ufw allow 22
啟動(dòng)服務(wù)后,需要配置防火墻,使得局域網(wǎng)內(nèi)其他IP地址可以訪問(wèn)服務(wù)器的 HTTP(80
)和 HTTPS(443
)端口
sudo ufw allow 'Nginx Full'
驗(yàn)證狀態(tài):
sudo ufw status
成功則會(huì)如下所示:
測(cè)試連通性:
在本地瀏覽器輸入服務(wù)器IP地址,默認(rèn)使用http端口,即可訪問(wèn)nginx默認(rèn)界面:
2. 安裝PHP:
PHP是服務(wù)端經(jīng)常使用的編程語(yǔ)言,命令只需一行:
sudo apt install php-fpm
一旦安裝完成,F(xiàn)PM 服務(wù)將會(huì)自動(dòng)啟動(dòng)。想要檢查服務(wù)狀態(tài),運(yùn)行(這里安裝的是7.4版本,可以使用命令php -v
查看,將7.4改成實(shí)際安裝版本即可):
sudo systemctl status php7.4-fpm
還可以安裝mysql擴(kuò)展,以便使得PHP可以做數(shù)據(jù)庫(kù)相關(guān)操作:
sudo apt install php-mysql
安裝后也需要重啟PHP-FPM服務(wù),以確保新更新被運(yùn)行:
sudo systemctl restart php7.4-fpm
3. Nginx的相關(guān)配置
3.1
創(chuàng)建文件:sudo vim /etc/nginx/php-fpm74.conf
,寫(xiě)入如下內(nèi)容:
location ~ .*\.php$ {
fastcgi_pass 127.0.0.1:9004;
fastcgi_param PHP_SELF $uri;
fastcgi_param SERVER_NAME $host;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
include fastcgi_params;
include php_cgi.conf;
}
fastcgi_pass 127.0.0.1:9004代表要將信息通過(guò)9004端口傳遞給php-fpm處理,2~6行都是定義的變量,7,8行是include的兩個(gè)文件。
3.2
創(chuàng)建文件:sudo vim /etc/nginx/php_cgi.conf
,寫(xiě)入如下內(nèi)容:
fastcgi_connect_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
fastcgi_buffer_size 128k;
fastcgi_buffers 8 128k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
3.3
創(chuàng)建文件:sudo vim /etc/nginx/conf.d/www.conf
,寫(xiě)入如下內(nèi)容:
server {
server_name 210.45.124.82;
index index.php;
root /opt/www;
include php-fpm74.conf;
}
進(jìn)入/opt目錄,新建www目錄,這個(gè)目錄就是默認(rèn)網(wǎng)站的頁(yè)面所在的目錄了:
cd /opt
sudo mkdir www
4. php-fpm的相關(guān)配置
創(chuàng)建文件:sudo vim /etc/php-fpm.d/www.conf
,(注意這個(gè)地方寫(xiě)的位置需要自己注意一下,我的安裝位置是/etc/php/7.4/fpm,里面有這樣四個(gè)文件或目錄:conf.d php-fpm.conf php.ini pool.d,php-fpm.conf即主配置文件,其中有一句這樣的語(yǔ)句:include=/etc/php/7.4/fpm/pool.d/*.conf
,意思是導(dǎo)入以conf結(jié)尾的文件配置,所以我的文件位置在這個(gè)地方/etc/php/7.4/fpm/pool.d/www.conf
),寫(xiě)入如下內(nèi)容:
[global]
pid = run/php-fpm.pid
error_log = log/error.log
[www]
listen = 127.0.0.1:9004
user = www-data
group = www-data
pm = static
pm.max_children = 5
rlimit_files = 20000
request_terminate_timeout = 10
pm.max_requests = 20000
user,group也需要自定義化,打開(kāi)文件/etc/nginx/nginx.conf
,看第一行user www-data
,需與此值相同。
5. 重啟服務(wù),更新配置:
sudo systemctl restart nginx php7.4-fpm
也可以將兩個(gè)服務(wù)加入開(kāi)機(jī)服務(wù)(disable取消):
sudo systemctl enable nginx php7.4-fpm
6. 測(cè)試文件
回到/opt/www目錄,創(chuàng)建文件:sudo vim info.php
<?php
phpinfo();
?>
然后在瀏覽器輸入:ServerIP/info.php即可看到
7.可能錯(cuò)誤排查
查看錯(cuò)誤日志文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-413491.html
// nginx
tail /var/log/nginx/error.log
// php
systemctl status php7.4-fpm.service
錯(cuò)誤1:403,無(wú)文件或者權(quán)限不足
無(wú)文件問(wèn)題根據(jù)3.3節(jié)設(shè)置的index去看對(duì)應(yīng)的文件夾是否有文件
權(quán)限不足問(wèn)題,則需要文件所有者賬戶將index的對(duì)應(yīng)文件夾提權(quán):sudo chmod R 777 /opt/www
錯(cuò)誤2:503 gateway error,一般是php-fpm配置出錯(cuò),需注意配置文件不要寫(xiě)錯(cuò)位置(要自己找安裝位置,一般在/etc或者/usr/local/etc中并且要從主配置文件順藤摸瓜,找到include的文件位置,并在相應(yīng)位置創(chuàng)建),另外配置listen端口一定需與nginx的pass端口相同。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-413491.html
到了這里,關(guān)于Ununtu服務(wù)器安裝Nginx與PHP的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!