溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Nginx如何實現(xiàn)多站點配置

發(fā)布時間:2021-08-20 13:55:46 來源:億速云 閱讀:160 作者:小新 欄目:服務(wù)器

小編給大家分享一下Nginx如何實現(xiàn)多站點配置,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

當我們有了一個 VPS 主機以后,為了不浪費 VPS 的強大資源(相比共享主機1000多個站點擠在一臺機器上),往往有想讓 VPS 做點什么的想法,銀子不能白花啊:)。放置多個網(wǎng)站或者博客是個不錯的想法,可是如何配置 web 服務(wù)器才能在一個 VPS 上放置多個網(wǎng)站/博客呢?如何通過一個 IP 訪問多個站點/域名呢?這就是大多數(shù) web 服務(wù)器支持的 virtual hosting 功能。這里將描述如何一步一步如何用 nginx 配置 virtual hosting。

nginx 是一個小巧高效的 web 服務(wù)器,由俄羅斯程序員 Igor Sysoev 開發(fā),nginx 雖然體積小,但功能一點也不弱,能和其他的 web 服務(wù)器一樣支持 virtual hosting,即一個IP對應(yīng)多個域名以支持多站點訪問,就像一個IP對應(yīng)一個站點一樣,所以是”虛擬”的。你想在一個 IP 下面放多少個站點就放多少,只要硬盤夠大就行。

這里以配置2個站點(2個域名)為例,n 個站點可以相應(yīng)增加調(diào)整,假設(shè):

IP地址: 202.55.1.100
域名1 example1.com 放在 /www/example1
域名2 example2.com 放在 /www/example2

配置 nginx virtual hosting 的基本思路和步驟如下:

把2個站點 example1.com, example2.com 放到 nginx 可以訪問的目錄 /www/
給每個站點分別創(chuàng)建一個 nginx 配置文件 example1.com.conf,example2.com.conf, 并把配置文件放到 /etc/nginx/vhosts/
然后在 /etc/nginx.conf 里面加一句 include 把步驟2創(chuàng)建的配置文件全部包含進來(用 * 號)

重啟 nginx

具體過程

下面是具體的配置過程:

1、在 /etc/nginx 下創(chuàng)建 vhosts 目錄

mkdir /etc/nginx/vhosts

2、在 /etc/nginx/vhosts/ 里創(chuàng)建一個名字為 example1.com.conf 的文件,把以下內(nèi)容拷進去

server { 
listen 80; 
server_name example1.com www. example1.com; 
access_log /www/access_ example1.log main; 
location / { 
  root /www/example1.com; index index.php index.html index.htm; 
} 
error_page 500 502 503 504 /50x.html;
location = /50x.html {
 root /usr/share/nginx/html; 
} 
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 
location ~ .php$ { 
fastcgi_pass 127.0.0.1:9000; 
fastcgi_index index.php; 
fastcgi_param SCRIPT_FILENAME /www/example1.com/$fastcgi_script_name; 
include fastcgi_params; 
} 
location ~ /.ht { deny all; } }

3、在 /etc/nginx/vhosts/ 里創(chuàng)建一個名字為 example2.com.conf 的文件,把以下內(nèi)容拷進去

server { 
listen 80;
server_name example2.com www. example2.com; 
access_log /www/access_ example1.log main; 
location / 
{ 
root /www/example2.com; index index.php index.html index.htm; 
} 
error_page 500 502 503 504 /50x.html; 
location = /50x.html {
 root /usr/share/nginx/html;
 } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 
location ~ .php$ { 
fastcgi_pass 127.0.0.1:9000; 
fastcgi_index index.php; 
fastcgi_param SCRIPT_FILENAME /www/example2.com/$fastcgi_script_name; 
include fastcgi_params; 
} 
location ~ /.ht { deny all; } }

4、打開 /etc/nginix.conf 文件,在相應(yīng)位置加入 include 把以上2個文件包含進來

user nginx; worker_processes 1; # main server error log error_log /var/log/nginx/error.log ; pid /var/run/nginx.pid; events { worker_connections 1024; } # main server config http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; gzip on; server { listen 80; server_name _; access_log /var/log/nginx/access.log main; server_name_in_redirect off; location / { root /usr/share/nginx/html; index index.html; } } # 包含所有的虛擬主機的配置文件 include /usr/local/etc/nginx/vhosts/*; }

5、重啟 Nginx

/etc/init.d/nginx restart

以上是“Nginx如何實現(xiàn)多站點配置”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI