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