Nginux 虚拟主机
一:关于Nginx
-
一款高性能、轻量级Web服务软件
-
稳定性高
-
系统资源消耗低
-
对HTTP并发连接的处理能力高
单台物理服务器可支持30000 ~ 50000个并发请求
二:Nginx虚拟主机应用
-
Nginx支持的虚拟主机有三种
-
基于域名的虚拟主机
-
基于IP的虚拟主机
-
基于端口的虚拟主机
-
通过" server{} " 配置段实现
三:基于域名
1、安装依赖包
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0 ‘关闭防火墙’
[root@localhost ~]# yum install gcc gcc-c++ make pcre-devel zlib-devel -y ‘安装依赖包’
2、创建运行用户
[root@localhost ~]# useradd -M -s /sbin/nologin nginx
3、挂载共享文件,并解压
[root@localhost ~]# mkdir /abc
[root@localhost ~]# mount.cifs //192.168.10.29/share /abc
[root@localhost abc]# tar zxvf nginx-1.12.2.tar.gz -C /opt/
4、编译安装
[root@localhost opt]# cd nginx-1.12.2
[root@localhost nginx-1.12.2]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module ‘开启stub_status状态统计模块’
[root@localhost nginx-1.12.2]# make && make install
5、检查nginx语法是否正确
[root@localhost nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ ‘优化路径, 便于系统识别命令’
[root@localhost nginx-1.12.2]# nginx -t
[root@localhost init.d]# chkconfig --add nginx ‘添加到nginx服务’
[root@localhost init.d]# chkconfig --level 35 nginx on ‘开机自启’
[root@localhost init.d]# service nginx start
[root@localhost init.d]# netstat -ntap | grep nginx ‘开启nginx’
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 44549/nginx: master
6、 修改 nginx.conf 配置文件 ,指定访问位置并添加 stub_status 配置代码, 修改 server{ }区域
[root@localhost nginx]# cd conf
[root@localhost conf]# mv nginx.conf nginx.conf.bak
[root@localhost conf]# vim nginx.conf.bak
35 server { ‘Web服务的监听配置’
36 listen 80; ‘监听地址’
37 server_name www.kg.com; (1)‘修改监听域名’
38
39 charset utf-8; (2)‘修改字符集’
40
41 #access_log logs/host.access.log main;
42
43 location / { ‘根目录配置’
44 root html; ‘网站根目录的位置’
45 index index.html index.htm; ‘默认首页’
46 }
47
48 localtion /status { ‘访问位置为/status ’
49 stub_status on; ‘打开状态统计功能’ (3)‘增加这一段’
50 access_log off; ‘关闭此位置的日志记录’
51 }
52 }
[root@localhost conf]# grep -v "#" nginx.conf.bak > nginx.conf
[root@localhost conf]# vim nginx.conf ‘与上面的配置文件内容是一样的’
Nginx配置完成了,接下来配置DNS
DNS解析
1、安装DNS软件包
[root@localhost conf]# yum install bind -y
2、修改配置文件
[root@localhost conf]# vim /etc/named.conf
[root@localhost conf]# vim /etc/named.rfc1912.zones
[root@localhost conf]# cd /var/named/
[root@localhost named]# ls
data named.ca named.localhost slaves
dynamic named.empty named.loopback
[root@localhost named]# cp -p named.localhost kg.com.zone
[root@localhost named]# vim kg.com.zone
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 ‘创建两个测试网页’
4、把 server{ } 代码段全部去掉,加入两个新的server{} 段,对应2个域名
[root@localhost named]# cp -p kg.com.zone ac.com.zone
[root@localhost named]# systemctl start named
[root@localhost named]# vim /usr/local/nginx/conf/nginx.conf
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 '检查配置文件是否有语法错误'
最后在客户机win10 上 输入两个域名 进行访问。
四:基于端口
1、修改/usr/local/nginx/conf/nginx.conf文件
[root@localhost named]# vim /usr/local/nginx/conf/nginx.conf
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;
}
}
2、建立站点首页并重启nginx
[root@localhost named]# cd /var/www
[root@localhost www]# mkdir kg8080
[root@localhost www]# ls
kg kg8080
[root@localhost www]# echo "this is kg8080 web" > kg8080/index.html
[root@localhost www]# service nginx restart ‘重启服务’
3、在win10客户端输入不同端口登录网址
五:基于IP地址
1、修改/usr/local/nginx/conf/nginx.conf文件
[root@localhost named]# vim /usr/local/nginx/conf/nginx.conf
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;
}
}
2、重启nginx
service nginx stop
service nginx start