Nginx功能应用—虚拟主机 目录: 第一部分:准备工作 第二部分:搭建nginx 第三部分:搭建基于域名的虚拟主机
第一部分 准备工作
一:服务器:Linux系统—CentOS 7.4;
IP地址:192.168.80.10
客户端:以WIN7为例,测试验证结果,与服务器在同一网段;
IP地址:192.168.80.2
二:准备压缩包
三:将防火墙与selinux关闭
第二部分 安装Nginx服务 一:安装编译工具与插件 [root@localhost ~]# yum -y install \
gcc
gcc-c++
make
pcre-devel
zlib-devel [root@localhost ~]# useradd -M -s /sbin/nologin nginx //创建nginx用户 -M:不为用户建立并初始化宿主目录
二:配置(自定义个性化配置) [root@localhost ~]# tar xzvf nginx-1.13.9.tar.gz -C /opt/ //解压nginx安装包到opt目录 [root@localhost ~]# cd /opt/nginx-1.13.9/ [root@localhost nginx-1.13.9]# ./configure \ //个性化配置
--prefix=/usr/local/nginx \ //指定安装目录 --user=nginx \ //指定用户 --group=nginx \ //指定组 --with-http_stub_status_module //日志统计模块
三:编译与安装
[root@localhost nginx-1.13.9]# make && make install //编译安装
[root@localhost nginx-1.13.9]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
//优化执行路径(执行程序文件的原路径不在PATH环境变量中,做个软链接使其可以执行)
[root@localhost nginx-1.13.9]# nginx –t //检查语法错误
[root@localhost nginx-1.13.9]# nginx //启动nginx服务
[root@localhost nginx-1.13.9]# killall -1 nginx //安全重启
[root@localhost nginx-1.13.9]# killall -3 nginx //停止服务
四:制作管理脚本 [root@localhost nginx-1.13.9]# vi /etc/init.d/nginx #!/bin/bash
chkconfig: 35 99 20
description: Nginx Service Control Script
PROG="/usr/local/nginx/sbin/nginx" PIDF="/usr/local/nginx/logs/nginx.pid" case "$1" in start) $PROG ;; stop) kill -s QUIT $(cat $PIDF) ;; restart) $0 stop $0 start ;; reload) kill -s HUP $(cat $PIDF) ;; *) echo "Usage: $0 {start|stop|restart|reload}" exit 1 esac exit 0 保存退出 [root@localhost nginx-1.13.9]# chmod +x /etc/init.d/nginx //添加执行权限 [root@localhost nginx-1.13.9]# chkconfig --add nginx //将nginx加入到系统服务
五:编辑主配置文件
[root@localhost nginx-1.13.9]# vi /usr/local/nginx/conf/nginx.conf
编辑以下内容:
user nginx nginx; //运行用户
error_log logs/error.log info; //错误日志路径
-----日志级别:debug info notice warn error crit //向上记录(从低到高)-----
events {
use epoll; //新增此行 默认使用select/poll
worker_connections 10240; //表示1个工作进程允许10240个连接。
}
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' //定义日志格式 把前面的#号去掉
保存退出
[root@localhost ~]# service nginx restart //重启nginx服务
[root@localhost ~]# netstat -anpt | grep 80 //查看80端口运行状态
[root@localhost ~]# ulimit –n //查看和更改系统本地打开资源数
[root@localhost ~]# ulimit -n 65500 >> /etc/rc.local
六:win7下验证
浏览器访问:http://192.168.80.40
//nginx搭建成功
第三部分 配置基于域名的虚拟主机 两个域名:www.aa.com www.bb.com 一个IP地址:192.168.80.40
一:搭建DNS
[root@localhost ~]# yum install –y bind bind-utils
[root@localhost ~]# vi /etc/named.conf //编辑主配置文件
[root@localhost ~]# vi /etc/named.rfc1912.zones //配置区域配置文件
[root@localhost ~]# cd /var/named/ //配置区域数据文件
[root@localhost named]# cp -p named.localhost aa.com.zone
[root@localhost named]# vi aa.com.zone
[root@localhost named]# cp -p aa.com.zone bb.com.zone //bb网站数据文件内容与aa一致,不用修改
[root@localhost named]# vi /etc/resolv.conf //配置本机域名
servername 192.168.80.40
保存退出
[root@localhost named]# systemctl start named //重启dns服务
//win7下验证
配置DNS:
//浏览器访问:www.aa.com
//浏览器访问:www.bb.com
//DNS搭建成功
二:配置虚拟主机
[root@localhost ~]# vi /usr/local/nginx/conf/nginx.conf //编辑主配置文件
//在最后一行上面插入(最后一行是”}”)
server {
listen 80;
server_name www.aa.com;
charset utf-8; //中文字符编码
access_log logs/aa.access.log main;
location / {
root /var/www/aa; //定义aa网站网页文件存放目录
index index.html index.htm;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
server {
listen 80;
server_name www.bb.com;
charset utf-8;
access_log logs/bb.access.log main;
location / {
root /var/www/bb; //定义bb网站网页文件存放目录
index index.html index.htm;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
保存退出
三:配置aa网站与bb网站默认显示主页
[root@localhost ~]# mkdir –p /var/www/aa //创建aa目录
[root@localhost www]# cd /var/www/aa/
[root@localhost aa]# echo "aaaaaaaaaa" > index.html //创建aa网站默认主页
[root@localhost aa]# cd .. //返回上层目录
[root@localhost www]# mkdir bb
[root@localhost www]# cd bb
[root@localhost bb]# echo "bbbbbbbbbb" > index.html //创建bb网站默认主页
[root@localhost ~]# service nginx restart //重启服务
四:win7下验证
浏览器访问:www.aa.com
//浏览器访问:www.bb.com
//验证成功