CentOS 7.6 Nginx的源码安装、流量统计和虚拟主机配置

一、源码安装

第一步:解压nginx源码包到/opt目录下,自定义配置然后编译安装

[root@server opt]# tar xzfv nginx-1.12.2.tar.gz
[root@server opt]# cd nginx-1.12.2/
[root@server nginx-1.12.2]#./configure \
--prefix=/usr/local/nginx \   <-----指定安装目录
--user=nginx \     <-----指定管理用户名
--group=nginx \    <-----指定管理组名
--with-http_stub_status_module   <---流量统计一定要加上这个模块

[root@server nginx-1.12.2]#make && make install

第二步:为nginx程序添加一个nginx用户,把nginx命令软链接到系统环境变量下便于使用和管理

[root@server nginx-1.12.2]# useradd -M -s /sbin/nologin nginx
[root@server nginx-1.12.2]# 
[root@server nginx-1.12.2]# 
[root@server nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

第三步:编写systemctl启动脚本

[root@server conf]# vim /lib/systemd/system/nginx.service

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
PIDFile =/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/bin/kill -S HUP $MAINPID
ExecStop=/usr/bin/kill -S QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

第四步:修改权限,别人不能启动

[root@server conf]# chmod 754 /lib/systemd/system/nginx.service

第五步:yum安装elink软件包,该软件包可以直接在linux上测试nginx网页

[root@server nginx-1.12.2]# yum -y install elinks
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 elinks.x86_64.0.0.12-0.37.pre6.el7.0.1 将被 安装

在这里插入图片描述

二、流量统计

第一步:修改nginx配置文件,在server配置块里加入流量统计模块的配置

vim /usr/local/nginx/conf/nginx.conf

server {
        listen       192.168.245.120:80;
        server_name  www.cloud.com:80;
        charset utf-8;
        access_log  logs/www.cloud.com.access.log;
        location / {
            root   /var/www/html/cloud;
            index  index.html index.htm;
        }
    location ~/status {
                stub_status on;    <----开启流量统计
                access_log off;    <----关闭日志
        }

第二步:重启nginx服务

[root@server conf]# systemctl restart nginx.service

第三步:客户机上验证

访问地址后面要加上/status:http://192.168.245.120/status

在这里插入图片描述

三、虚拟主机

1、基于不同域名

第一步:在nginx配置文件中,新添加一个server配置块

[root@server conf]# vim /usr/local/nginx/conf/nginx.conf
server {
        listen       80;
        server_name  www.yjs.com;   <---指定域名
        charset utf-8;
        access_log  logs/www.yjs.com.access.log;   <---指定访问该域名时的访问日志
        location / {
            root   /var/www/html/yjs;   <---指定主页站点
            index  index.html index.htm;
       }
         error_page   500 502 503 504  /50x.html;
         location = /50x.html {
         root   html;
       }

server {
        listen       80;
        server_name  www.cloud.com;   <---指定域名
        charset utf-8;
        access_log  logs/www.cloud.com.access.log;   <---指定访问该域名时的访问日志
        location / {
            root   /var/www/html/cloud;   <---指定主页站点
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        }

第二步:创建两个域名各自的主页站点,并创建各自的主页

[root@server conf]# mkdir -p /var/www/html/yjs
[root@server conf]# mkdir -p /var/www/html/cloud
[root@server conf]# 
[root@server conf]# 
[root@server conf]# echo "this is yjs" > /var/www/html/yjs/index.html
[root@server conf]# echo "this is cloud" > /var/www/html/cloud/index.html

第三步:修改DNS的区域配置文件

[root@server conf]# vim /etc/named.rfc1912.zones 

zone "cloud.com" IN {    <---指定域名
        type master;
        file "cloud.com.zone";  <---指定区域数据文件
        allow-update { none; };
};

zone "yjs.com" IN {    <---指定域名
        type master;
        file "yjs.com.zone";     <---指定区域数据文件
        allow-update { none; };
};

第四步:配置区域数据文件,两个域名都指向192.168.245.120这个地址

[root@server conf]# cd /var/named
[root@server named]# ls
cloud.com.zone  data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@server named]# cp -p cloud.com.zone yjs.com.zone
[root@server conf]# vim /var/named/cloud.com.zone 

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.245.120

第五步:重启域名服务

[root@server named]# systemctl restart named

第六步:检查nginx配置文件语法并启动nginx

[root@server conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@server conf]# 
[root@server conf]# 
[root@server conf]# systemctl restart nginx.service

第七步:客户机上访问不同域名,出现不同页面
在这里插入图片描述
在这里插入图片描述

2、基于不同端口

第一步:修改nginx配置文件,修改server配置块

[root@server conf]# vim /usr/local/nginx/conf/nginx.conf
 server {
        listen       192.168.245.120:80;
        server_name  www.cloud.com;
        charset utf-8;
        access_log  logs/www.cloud.com.access.log;
        location / {
            root   /var/www/html/cloud;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }
 server {
        listen       192.168.245.120:8080;   <---监听地址一样,端口设置8080
        server_name  www.cloud.com:8080;  <---访问的域名也要加上8080
        charset utf-8;
        access_log  logs/www.cloud8080.com.access.log;  <---指定访问日志
        location / {
            root   /var/www/html/cloud8080;   <---指定站点
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        }

第二步:创建访问8080端口的网页站点和网页内容

[root@server conf]# mkdir -p /var/www/html/cloud8080
[root@server conf]# 
[root@server conf]# 
[root@server conf]# echo "this is cloud 8080" > /var/www/html/cloud8080/index.html

第三步:检查nginx语法并重启服务

[root@server conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@server conf]# 
[root@server conf]# systemctl restart nginx.service 

第四步:客户机上验证访问8080口时是另外一个页面
在这里插入图片描述
在这里插入图片描述

3、基于不同ip不同域名

即不同ip指向不同的域名指向不同的网页。
虚拟机新加一块网卡ens36:ip为192.168.245.130

第一步:新建一个区域数据文件,该域名的ip为192.168.245.130

[root@server ~]# vim /var/named/yjs.com.zone 

$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
www IN  A       192.168.245.130

第二步:重启DNS服务

[root@server ~]# systemctl restart named

第三步:客户机上解析成功
在这里插入图片描述
第四步:修改nginx配置文件

[root@server ~]# vim /usr/local/nginx/conf/nginx.conf
server {
        listen       192.168.245.130:80;  <---指定ip
        server_name  www.yjs.com:80;   <---指定域名
        charset utf-8;
        access_log  logs/www.yjs.com.access.log;  <---指定访问日志
        location / {
            root   /var/www/html/yjs;   <---指定站点目录
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

server {
        listen       192.168.245.120:80;    <---指定ip
        server_name  www.cloud.com:80;    <---指定域名
        charset utf-8;
        access_log  logs/www.cloud.com.access.log;   <---指定访问日志
        location / {
            root   /var/www/html/cloud;   <---指定站点目录
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

第五步:进入各自站点编写各自的主页内容

[root@server conf]# vim /var/www/html/yjs/index.html 
[root@server conf]# echo "this is yjs web" > /var/www/html/yjs/index.html
[root@server conf]# 
[root@server conf]# 
[root@server conf]# vim /var/www/html/cloud/index.html 
[root@server conf]# echo "this is cloud web" > /var/www/html/cloud/index.html

第六步:检查nginx语法并重启服务

[root@server ~]# cd /usr/local/nginx/conf/

[root@server conf]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

[root@server ~]# systemctl restart nginx.service

第七步:客户机上访问验证
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值