三、nginx虚拟主机管理

168 阅读2分钟

Nginx全局配置

// 全局区
worker_processes 1; // 有1个工作的子进程,可以自行修改,但太大无益,因为要争夺CPU,一般设置为 CPU数*核数

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

http {  //这是配置http服务器的主要段
     Server1 { // 这是虚拟主机段
       
            Location {  //定位,把特殊的路径或文件再次定位 ,如image目录单独处理
            }             /// 如.php单独处理

     }

     Server2 {
     }
}

例子1: 基于域名的虚拟主机

server {
    listen 80;  #监听端口
    server_name a.com; #监听域名

    location / {
            root /var/www/a.com;   #根目录定位
            index index.html;
    }
}

例子2: 基于端口的虚拟主机配置

server {
    listen 8080;
    server_name 192.168.1.204;

    location / {
            root /var/www/html8080;
            index index.html;
    }
}

1. Nginx虚拟主机配置

1 Nginx管理虚拟主机
宝塔配置文件 一般在/www/server/panel/vhost/nginx
其他的一般在 nginx/conf/vhost下面

 server {
        listen 8080; #端口
        server_name 192.168.1.204; #域名
        location / {
                root /var/www/html; #根目录
                index index.html;
        access_log  logs/proxy.access.log  main;
        }
    }
    

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

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

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

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

			# 配置虚拟主机段
				server {
				
					# 定位,把特殊的路径或文件再次定位。
	        location  {
	           
	        } 
	    }

	    server {
	   			...
	    }
	}

2. 基于域名的虚拟主机

1、在http大括号中添加如下代码段:

server {  
    #监听端口 80  
    listen 80;   
                            
    #监听域名abc.com;  
    server_name abc.com;
      
    location / {              
            # 相对路径,相对nginx根目录。  
        root    abc;  
        
        # 默认跳转到index.html页面  
        index index.html;                 
    }  
} 

2、切换安装目录:cd/usr/local/software/nginx

3、创建目录:mkdir abc

4、新建index.html文件:vi /usr/local/software/nginx/abc/index.html,文件内容:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body>
        <h2>基于域名的虚拟主机-index</h2>
    </body>
</html>

5、重新读取配置文件:

/usr/local/software/nginx/sbin/nginx-s reload

kill -HUP进程号

6、配置windows本机host:

192.168.197.142 abc.com  #linux服务器IP地址

7、访问:abc.com:80/

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

1、编辑配置文件:vim/usr/local/software/nginx/conf/nginx.conf

server {
    listen  2022;
    server_name     abc.com;
    location / {
       root    /home;
       index index.html;
    }
}
 

2、新建index.html文件:vi /home/index.html,文件内容:

  <html>
      <head>
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
      </head>
      <body>
          <h2>基于端口的虚拟主机配置-index</h2>
      </body>
  </html>

3、重新读取配置文件:

/usr/local/software/nginx/sbin/nginx-s reload

4、访问:abc.com:2022/

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

1、编辑配置文件:vim/usr/local/software/nginx/conf/nginx.conf

server {
  listen  80;
  server_name  192.168.197.142;
  location / {
          root    ip;
          index index.html;
  }
}
 

2、新建index.html文件:

执行命令:

mkdir /usr/local/software/nginx/ip

vi /usr/local/software/nginx/ip/index.html

文件内容:

<html>
      <head>
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
      </head>
      <body>
          <h2>基于IP地址虚拟主机配置-index</h2>
      </body>
  </html>

3、重新读取配置文件:

/usr/local/software/nginx/sbin/nginx-s reload

4、访问:http://192.168.197.142/