1. 程式人生 > >nignx多域名多站點的配置,502 Bad Gateway解決方法

nignx多域名多站點的配置,502 Bad Gateway解決方法

本文以ubuntu18.04版本為例,其他Linux系統類似

 

0、確保已經安裝nginx php php-fpm

我的nginx版本為1.14.0,php版本為7.2

1、先建立兩個放網站的目錄

mkdir /data

mkdir /data/ding1com

mkdir /data/ding2com

2、檢視nginx.conf可知放入位置sites-enabled資料夾內所有檔案都生效

cd /etc/nginx

cp -r sites-enabled sites-enabled.bak #修改前先備份

cd sites-enabled

多域名可在一個檔案內設定,也可以拆分多個檔案。格式如下:修改root行和server_name行即可

server {
	listen 80;
	root /data/ding1com;
 
	index index.php index.html index.htm index.nginx-debian.html;

	server_name localhost ding1.com www.ding1.com;
	
	location ~ \.php$ {
            fastcgi_pass   unix:/run/php/php7.2-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }	
}

3、修改hosts對應域名記錄

vim /etc/hosts

127.0.0.1 localhost ding1.com www.ding1.com ding2.com www.ding2.com

4、重啟nginx即可

nginx -t //檢查錯誤

sudo /etc/init.d/nginx restart

 

注意:按照老版本的寫法,fastcgi_pass 127.0.0.1:9000; 訪問php檔案就會報錯 502 Bad Gateway,改成上面的寫法即可,這個問題困擾了我好幾天。

 

------------------------------------------------------------------------------------------------------------------------

 

訪問php檔案,502 Bad Gateway,問題解決記錄

/etc/init.d/php7.2-fpm status #正常

netstat -ntlp #檢視 發現php-fpm不監聽9000埠

cd /etc/php/7.2/fpm 檢視php-fpm.conf

檢視 /etc/php/7.2/fpm/pool.d/www.conf

找到

listen = /run/php/php7.2-fpm.sock

所以要把nginx配置檔案中127.0.0.1:9000 改為 unix:/run/php/php7.2-fpm.sock;

 

nginx預設網站位置:/usr/share/nginx/html

nginx 錯誤日誌位置:/var/log/nginx/error.log