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

目录

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

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

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

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


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

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

(1)检查并安装 Nginx 基础依赖包 pcre-devel iipopenssl-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)解压tengine到指定文件夹

[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 此处只设置便于不登录即可

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

 (4)开始安装 Nginx

[root@localhost nginx-1.22.0]# ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --user=nginx --group=nginx --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/57295.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

element表格+表单+表单验证结合运用

目录​​​​​​​ 一、结果展示 二、实现代码 一、结果展示 1、图片 2、描述 table中放form表单,放输入框或下拉框或多选框等; 点击添加按钮,首先验证表单,如果存在没填的就验证提醒,都填了就向下添加一行表单表…

电脑怎么备份文件?学会这4招!

“由于我是个比较粗心的人,平常很容易把一些文件弄不见。因此,我想把电脑中一些比较重要的文件进行备份,有没有朋友知道电脑怎么备份文件呢?求解答!” 在使用电脑时,可能经常会由于各种突然原因导致我们的文…

MONGODB ---- Austindatabases 历年文章合集

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共…

【框架篇】MyBatis 介绍及使用(详细教程)

一,MyBatis 介绍 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO&#xff…

阿里云ssl免费数字证书快过期 如何更换

1.登陆阿里云 找到ssl 查看快过期的证书 数字证书管理服务-ssl证书 2.创建免费的证书,对应过期证书的域名 3.下载新证书 pem key放在本地 此处记录本地的下载路径 /Users/dorsey/Downloads/10791167_lzzabc.cn_nginx/lzzabc.cn.pem /Users/dorsey/Downloads/1…

mysql主从复制-读写分离

简介 缓解单台数据库服务器的吞吐量压力过大的情况,将数据库拆分成了主库和从库,主库负责增删改操作,从库负责查询操作 Sharding -JDBC 一种轻量级的java框架,在java的jdbc层提供的额外服务,可兼容JDBC和各种ORM框架…

PyTorch中ReduceLROnPlateau的学习率调整优化器

PyTorch中ReduceLROnPlateau的学习率调整优化器 作者:安静到无声 个人主页 简介: 在深度学习中,学习率是一个重要的超参数,影响模型的收敛速度和性能。为了自动调整学习率,PyTorch提供了ReduceLROnPlateau优化器&…

v4l2-ctl 命令查看 RK3568 上的摄像头节点

使用 v4l2-ctl 命令查看 RK3568 上的摄像头节点,可以按照以下步骤进行操作: 首先,请确保您的 RK3568 设备上已经安装了 v4l-utils 工具包。如果没有安装,可以使用以下命令进行安装: $ sudo apt-get install v4l-utils打…

【MySQL】聚合函数与分组查询

文章目录 一、聚合函数1.1 count 返回查询到的数据的数量1.2 sum 返回查询到的数据的总和1.3 avg 返回查询到的数据的平均值1.4 max 返回查询到的数据的最大值1.5 min 返回查询到的数据的最小值 二、分组查询group by2.1 导入雇员信息表2.2 找到最高薪资和员工平均薪资2.3 显示…

React Dva 操作models中的subscriptions讲述监听

接下来 我们来看一个models的属性 之前没有讲到的subscriptions 我们可以在自己有引入的任意一个models文件中这样写 subscriptions: {setup({ dispatch, history }) {console.log(dispatch);}, },这样 一进来 这个位置就会触发 这里 我们可以写多个 subscriptions: {setup…

<STM32>STM32F103ZET6-可调参数定时器1互补PWM输出

<STM32>STM32F103ZET6-可调参数定时器1互补PWM输出 一 基础工程 本例基础工程以正点原子战舰V3开发板配套 库函数 开发例程《实验9 PWM输出实验》; 在此例程基础上进行 定时器1互补PWM输出。 二 代码修改 基于例程,只需修改ma…

返回一组数据中出现频率最多的元素(众数),可能是一个或多个statistics.multimode()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 返回一组数据中出现频率最多的 元素(众数),可能是一个或多个 statistics.multimode() 选择题 下列说法错误的是? import statistics data [0, 1, 1, 2, 2, 3] print(【显示】d…