0
点赞
收藏
分享

微信扫一扫

Nginx教程(二) Nginx虚拟主机配置


Nginx管理虚拟主机

虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完整的Intemet服务器功能(WWW、FTP、Email等),同一台主机上的虚拟主机之间是完全独立的。从网站访问者来看,每一台虚拟主机和一台独立的主机完全一样。

利用虚拟主机,不用为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程。虚拟主机提供了在同一台服务器、同一组Nginx进程上运行多个网站的功能。

1.1 Nginx支持的虚拟主机有三种:

  • 基于域名的虚拟主机
  • 基于IP的虚拟主机
  • 基于端口的虚拟主机
  •  通过" server{} " 配置段实现

1.2 Nginx基本配置

1、Nginx的主配置文件是:nginx.conf,nginx.conf主要组成如下:

# 全局区   有一个工作子进程,一般设置为CPU数 * 核数
        worker_processes  1;

        events {
                # 一般是配置nginx进程与连接的特性
                # 如1个word能同时允许多少连接,一个子进程最大允许连接1024个连接
                worker_connections  1024;
        }

        # 配置HTTP服务器配置段
        http {

                # 配置虚拟主机段
                    server {

                        # 定位,把特殊的路径或文件再次定位。
                location  {

                }
            }

            server {
                       ...
            }
        }

1.3 准备工作

准备两个网站目录和测试首页

[root@localhost named]# cd /var
[root@localhost var]# mkdir -p www/kg www/ac
[root@localhost var]# cd www
[root@localhost www]# ls
ac  kg
[root@localhost www]# echo "this is ac web" > ac/index.html
[root@localhost www]# echo "this is kg web" > kg/index.html     ‘创建两个测试网页’

2 基于域名的虚拟主机

# 在http大括号中添加如下代码段:把 server{ } 代码段全部去掉,加入两个新的server{} 段,对应2个域名

 server {
        listen       80;
        server_name  www.kg.com;       ‘kg域名’
        charset utf-8;
        access_log  logs/www.kg.com.access.log;
        location / {
            root   /var/www/html/kg;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
server {
        listen       80; 
        server_name  www.ac.com;        ‘ac域名’
        charset utf-8;
        access_log  logs/www.ac.com.access.log;
        location / {
            root   /var/www/html/ac;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
   } 
[root@localhost named]# nginx -t     '检查配置文件是否有语法错误'

相关DNS配置略过······

测试:

http://www.kg.com

http://www.ac.com

3 基于端口的虚拟主机配置

# 同上
server {
        listen 192.168.34.154:80;
        server_name  www.kg.com;
 
        charset utf-8;
 
        access_log  logs/www.kg.com.access.log;
 
        location / {
            root   /var/www/html/kg;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
 }

server {
        listen 192.168.34.154:8080;
        server_name  www.kg.com;
        charset utf-8;
        access_log  logs/www.kg8080.com.access.log; 
        location / {
            root   /var/www/html/kg8080;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
 }

测试:

http://192.168.34.154:80

http://192.168.34.154:80

4 基于IP地址虚拟主机配置

# 同上
server {
        listen 192.168.34.154:80;
        server_name  www.kg.com;

        charset utf-8;

        access_log  logs/www.kg.com.access.log;

        location / {
            root   /var/www/html/kg;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
 }

server {
        listen 192.168.34.144:80;
        server_name  www.ac.com;

        charset utf-8;

        access_log  logs/www.ac.com.access.log;

        location / {
            root   /var/www/html/ac;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
 }

测试:

http://192.168.34.154:80

http://192.168.34.144:80

举报

相关推荐

0 条评论