詳解Nginx虛擬主機(jī)配置的三種方式(基于端口)

Nginx配置虛擬主機(jī)支持3種方式:基于IP的虛擬主機(jī)配置,基于端口的虛擬主機(jī)配置,基于域名的虛擬主機(jī)配置。

麻栗坡網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,麻栗坡網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為麻栗坡近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的麻栗坡做網(wǎng)站的公司定做!

詳解Nginx 虛擬主機(jī)配置的三種方式(基于IP) https://www.jb51.net/article/14974.htm

詳解Nginx 虛擬主機(jī)配置的三種方式(基于域名) https://www.jb51.net/article/14978.htm

2、Nginx基于端口的虛擬主機(jī)配置

如一臺(tái)服務(wù)器只有一個(gè)IP或需要通過(guò)不同的端口訪問(wèn)不同的虛擬主機(jī),可以使用基于端口的虛擬主機(jī)配置。

2.1 假設(shè)服務(wù)器有個(gè)IP地址為192.168.2.154

[root@localhost conf]# ifconfig ens33:4 192.168.2.154/24 up
[root@localhost conf]# ifconfig
ens33:4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
 inet 192.168.2.154 netmask 255.255.255.0 broadcast 192.168.2.255
 ether 00:0c:29:16:90:ae txqueuelen 1000 (Ethernet)

2.2 需要配置的虛擬主機(jī)分別為7081、8081和9081,配置主機(jī)的host文件便于測(cè)試。

[root@localhost conf]# vim /etc/hosts
[root@localhost conf]# cat /etc/hosts|grep 192.168.2.154
192.168.2.154 www.test154.com

2.3 建立虛擬主機(jī)存放網(wǎng)頁(yè)的根目錄,并創(chuàng)建首頁(yè)文件index.html

[root@localhost conf]# cd /data/www/
[root@localhost www]# mkdir port
[root@localhost www]# cd port/
[root@localhost port]# mkdir 7081 8081 9081
[root@localhost port]# ls
7081 8081 9081
[root@localhost port]# echo "port 7081" > 7081/index.html
[root@localhost port]# echo "port 8081" > 8081/index.html
[root@localhost port]# echo "port 9081" > 9081/index.html

2.4 修改nginx.conf,將虛擬主機(jī)配置文件包含進(jìn)主文件

[root@localhost /]# cd /usr/local/nginx/conf/
[root@localhost conf]# ls
fastcgi.conf  fastcgi_params  koi-utf mime.types  nginx.conf  scgi_params  uwsgi_params  win-utf
fastcgi.conf.default fastcgi_params.default koi-win mime.types.default nginx.conf.default scgi_params.default uwsgi_params.default
[root@localhost conf]# vim nginx.conf

在nginx.conf文件末尾加入以下配置

# 在http段中找到以下內(nèi)容并刪除每行前面的“#”
 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
   '$status $body_bytes_sent "$http_referer" '
   '"$http_user_agent" "$http_x_forwarded_for"';

# 配置文件結(jié)尾的最后一個(gè)“}”之前加入以下語(yǔ)句,如下所示
include vhost/*.conf

2.5 編輯每個(gè)端口的配置文件

[root@localhost vhost]# vim www.test154.7081.conf
[root@localhost vhost]# cat www.test154.7081.conf
 server {
 listen 192.168.2.154:7081;
 # 配置成實(shí)際的域名,每個(gè)虛擬主機(jī)的配置文件域名都相同
 #server_name www.test.com;

 access_log /data/logs/www.test154.7081.log main;
 error_log /data/logs/www.test154.7081.error.log;

 location / {
  root /data/www/port/7081;
  index index.html index.htm;
 }
 }

[root@localhost vhost]# vim www.test154.8081.conf
[root@localhost vhost]# cat www.test154.8081.conf
 server {
 listen 192.168.2.154:8081;
 # 配置成實(shí)際的域名,每個(gè)虛擬主機(jī)的配置文件域名都相同
 #server_name www.test.com;

 access_log /data/logs/www.test154.8081.log main;
 error_log /data/logs/www.test154.8081.error.log;

 location / {
  root /data/www/port/8081;
  index index.html index.htm;
 }
 }

[root@localhost vhost]# vim www.test154.9081.conf
[root@localhost vhost]# cat www.test154.9081.conf
 server {
 listen 192.168.2.154:9081;
 # 配置成實(shí)際的域名,每個(gè)虛擬主機(jī)的配置文件域名都相同
 #server_name www.test.com;

 access_log /data/logs/www.test154.9081.log main;
 error_log /data/logs/www.test154.9081.error.log;

 location / {
  root /data/www/port/9081;
  index index.html index.htm;
 }
 }

2.6 創(chuàng)建日志文件,否則無(wú)法啟動(dòng)nginx

[root@localhost /]# mkdir -p /data/logs
[root@localhost /]# touch /data/logs/www.test154.7081.log
[root@localhost /]# touch /data/logs/www.test154.7081.error.log
[root@localhost /]# touch /data/logs/www.test154.8081.log
[root@localhost /]# touch /data/logs/www.test154.8081.error.log
[root@localhost /]# touch /data/logs/www.test154.9081.log
[root@localhost /]# touch /data/logs/www.test154.9081.error.log
[root@localhost /]# ls /data/logs/
www.test154.7081.error.log www.test154.8081.error.log www.test154.9081.error.log
www.test154.7081.log www.test154.8081.log www.test154.9081.log

2.7 先測(cè)試配置文件然后再啟動(dòng)nginx

[root@localhost /]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
# 啟動(dòng)nginx
[root@localhost sbin]# ./nginx

2.8 測(cè)試文件

[root@localhost ~]# curl http://www.test154.com:7081
port 7081
[root@localhost ~]# curl http://www.test154.com:8081
port 8081
[root@localhost ~]# curl http://www.test154.com:9081
port 9081

附:配置過(guò)程中的問(wèn)題

1、最后測(cè)試時(shí)發(fā)生的問(wèn)題

[root@localhost sbin]# curl http://www.test154.com:7081
curl: (7) Failed connect to www.test154.com:7081; 拒絕連接
[root@localhost sbin]# curl 192.168.2.154:7081
curl: (7) Failed connect to 192.168.2.154:7081; 拒絕連接

解決方法:

1.1 使用以下命令查看Nginx是否在監(jiān)聽(tīng)相應(yīng)的端口

[root@localhost conf]# netstat -lnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address  Foreign Address  State
tcp 0 0 0.0.0.0:111  0.0.0.0:*  LISTEN
tcp 0 0 192.168.2.153:80 0.0.0.0:*  LISTEN
tcp 0 0 192.168.2.152:80 0.0.0.0:*  LISTEN
tcp 0 0 192.168.2.151:80 0.0.0.0:*  LISTEN
tcp 0 0 0.0.0.0:8080  0.0.0.0:*  LISTEN
tcp 0 0 192.168.2.154:8081 0.0.0.0:*  LISTEN
tcp 0 0 0.0.0.0:22  0.0.0.0:*  LISTEN
tcp 0 0 192.168.2.154:9081 0.0.0.0:*  LISTEN
tcp 0 0 127.0.0.1:25  0.0.0.0:*  LISTEN
tcp 0 0 192.168.2.154:7081 0.0.0.0:*  LISTEN
tcp6 0 0 :::111   :::*   LISTEN
tcp6 0 0 :::22   :::*   LISTEN
tcp6 0 0 :::23   :::*   LISTEN
tcp6 0 0 ::1:25   :::*   LISTEN

1.2 若Nginx未監(jiān)聽(tīng)相應(yīng)端口則重啟Nginx服務(wù),再不行重啟服務(wù)器

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

當(dāng)前題目:詳解Nginx虛擬主機(jī)配置的三種方式(基于端口)
文章位置:http://bm7419.com/article40/jjejho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、微信公眾號(hào)建站公司、網(wǎng)站設(shè)計(jì)網(wǎng)站策劃、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)