web集群学习:源码安装nginx配置启动服务脚本、IP、端口、域名的虚拟主机

目录

1、源码安装nginx,并提供服务脚本。

2、配置基于ip地址的虚拟主机

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

  4、配置基于域名的虚拟主机


1、源码安装nginx,并提供服务脚本。

1、源码安装会有一些软件依赖

(1)检查并安装 Nginx 基础依赖包 pcre-devel openssl-devel

# rpm -qa | egrep 'pcre-devel | openssl-devel'

(2)安装 Nginx 所需的 pcre 库 正则支持

pcre 的全称为 perl compatible regular expressions,中文译为 “ perl 兼容正则表达式”,官方站点为 http://www.pcre.org/, 安装 pere 库是为了使 Nginx 支持具备 URI 重写功能的 rewrite 模块,如果不安装 pere 库,则 Nginx 无法使用 rewrite 模块功能,Nginx的 rewrite 模块功能几乎是企业应用必须的。

yum install -y pcre-devel

(3) 安装 openssl-devel 加密支持
Nginx 在使用 HTTPS 服务的时候要用到此模块,如果不安装 openssl 相关包,安装Nginx 的过程中会报错。

yum install -y openssl-devel

(4)安装编译软件

yum install gcc gcc-c++ make -y

2、 nginx获取

RPM包获取:Index of /packages/

源码包获取:Index of /download/

(1)这里我选择的版本为nginx-1.22.0,通过wget安装

wget http://nginx.org/download/nginx-1.22.0.tar.gz

(2)解压nginx-1.22.0到指定文件夹

[root@node3 ~]# tar xf nginx-1.22.0.tar.gz -C /usr/local/src/
[root@node3 ~]# cd /usr/local/src/nginx-1.22.0/

(3)创建用户nginx 此处只设置便于不登录即可

groupadd nginx -g 996
useradd nginx -u 996 -r -g 996 -s /sbin/nologin -c "nginx user"

 (4)开始安装 Nginx

[root@localhost nginx-1.22.0]# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

(5)编译安装

make && make install

  (6)  为nginx提供SysV init脚本

[root@node3 nginx-1.22.0]# vim /usr/lib/systemd/system/nginx.service

[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target

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


[Install]
WantedBy=multi-user.target               

重新加载启动脚本并启动服务

 测验通过本机测试
显示此网页访问成功

2、配置基于ip地址的虚拟主机

1)需要先准备环境,创建站点目录

mkdir /usr/share/nginx/html/{bbs,blog}

2)创建主页文件

echo bbs test page > /usr/share/nginx/html/bbs/index.html
echo blog test page > /usr/share/nginx/html/blog/index.html

3)为网卡添加一个新的IP地址

nmcli connection modify ens32 +ipv4.addresses 192.168.80.151/24 ipv4.method manual autoconnect yes
nmcli connection up ens32 

3)去默认的配置文件配置基于ip地址的配置文件

vim /etc/nginx/conf.d/vhost.conf
server {
    listen      192.168.80.130:80;
    server_name  localhost;
    access_log  /var/log/nginx/bbs_access.log  main;
    error_log   /var/log/nginx/bbs_error.log;

    location / {
        root   /usr/share/nginx/html/bbs;
        index  index.html index.htm;
    }
}

server {
    listen      192.168.80.151:80;
    server_name  localhost;
    access_log  /var/log/nginx/blog_access.log  main;
    error_log   /var/log/nginx/blog_error.log;

    location / {
        root   /usr/share/nginx/html/blog;
        index  index.html index.htm;
    }
}

检查语法

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

重启nginx并测试

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

vim /etc/nginx/conf.d/vhost.conf
server {
    listen    81;
    server_name  localhost;
    access_log  /var/log/nginx/bbs_access.log  main;
    error_log   /var/log/nginx/bbs_error.log;

    location / {
        root   /usr/share/nginx/html/bbs;
        index  index.html index.htm;
    }
}

server {
    listen    82;
    server_name  localhost;
    access_log  /var/log/nginx/blog_access.log  main;
    error_log   /var/log/nginx/blog_error.log;

    location / {
        root   /usr/share/nginx/html/blog;
        index  index.html index.htm;
    }
}

重启服务并浏览器访问

 

  4、配置基于域名的虚拟主机

vim /etc/nginx/conf.d/vhost.conf
server {
    listen      80;
    server_name  bbs.openlab.cn;
    access_log  /var/log/nginx/bbs_access.log  main;
    error_log   /var/log/nginx/bbs_error.log;

    location / {
        root   /usr/share/nginx/html/bbs;
        index  index.html index.htm;
    }
}
server {
    listen      80;
    server_name  blog.openlab.cn;
    access_log  /var/log/nginx/blog_access.log  main;
    error_log   /var/log/nginx/blog_error.log;

    location / {
        root   /usr/share/nginx/html/blog;
        index  index.html index.htm;
    }
}

为本地dns服务器做解析

vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.80.130 bbs.openlab.cn blog.openlab.cn

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一路喝狗狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值