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

news2024/10/6 18:32:14

目录

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.coloradmin.cn/o/842509.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探索远程访问内网群晖NAS 6.X(使用独立域名)【内网穿透】

使用自己的域名远程访问内网群晖NAS 6.X【内网穿透】 文章目录 使用自己的域名远程访问内网群晖NAS 6.X【内网穿透】 在之前的文章中,我们向大家演示了如何使用cpolar,创建一条固定的、能够在公共互联网登录内网群晖NAS的数据隧道。这条隧道已经能够应对…

新能源汽车交流充电桩控制主板的功能维度

新能源汽车交流充电桩控制主板的功能维度 交流充电桩主板是电动汽车充电站的关键组件,它负责控制充电过程,保护设备和电网免受电动汽车充电的冲击。它具有控制、保护、检测、报警和记录等功能,可以有效地控制充电过程,保证交流充电…

防火墙第五次作业

1. 什么是恶意软件? 恶意软件官方的一个定义:恶意软件 (Malware) 从“恶意”(malicious) 和“软件”(software) 这两个词合并而来,是一个通用术语,可以指代病毒、蠕虫、特洛伊木马、勒索软件、间谍软件、广告软件和其他类型的有害…

java 版本企业招标投标管理系统源码+多个行业+tbms+及时准确+全程电子化tbms

​ 功能描述 1、门户管理:所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含:招标公告、非招标公告、系统通知、政策法规。 2、立项管理:企业用户可对需要采购的项目进行立项申请,并提交审批,查…

图像 检测 - DETR: End-to-End Object Detection with Transformers (arXiv 2020)

图像 检测 - DETR: End-to-End Object Detection with Transformers - 端到端目标检测的Transformers(arXiv 2020) 摘要1. 引言2. 相关工作2.1 集预测2.2 Transformers和并行解码2.3 目标检测 3. DETR模型References 声明:此翻译仅为个人学习…

【Grafana】中文界面配置 v10.0.3

比如通过 docker run -d -p 3000:3000 -v /e/code/monitor/grafana/grafana.ini.txt:/etc/grafana/grafana.ini grafana/grafana运行一个容器(最新是v10.0.3)。 在 /admin/settings 可以看到 users 部分有一个 default_language 配置。 所以在挂载到 …

EC200 CAT1 拨号PPP

**硬件支持型号 点击 查看 硬件支持 详情** DTU701 产品详情 DTU702 产品详情 DTU801 产品详情 DTU802 产品详情 DTU902 产品详情 G5501 产品详情 目前 DTU系列 产品,WIFI4G拨号 ,默认开机自启动拨号。 WIFI 只需要 根据现场 修改SSID热点和密码…

智慧消防 | 气体灭火系统压力在线监测正当其时

气体灭火设备在消防安全系统中扮演着重要的角色。根据最新版的《气瓶安全技术规程》TSG23-2021规定,IG541气体钢瓶需要每3年进行一次检测。未按时进行检测可能导致压力掉压、瓶体外部锈蚀、钢瓶位置钢瓶内部腐蚀等风险,这些问题都可能对消防安全和效能产…

MySQL面试1

Mysql的面试突击1 Mysql的体系结构是什么样子的(查询语句怎么进行执行的) mysql的架构:单进程多线程的架构模式 CLient -----> Server架构 Mysql的链接方式有没有性能优化的点 2个点 查询缓存(Query Cache) MySQL 内部自带了一个缓存模…

【Nginx】静态资源部署、反向代理、负载均衡

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ nginx静态资源部署、反向代理、负载均衡 &…

laravel项目运行问题记录

一.首页404未找到 检查项目配置是否配置好 解决地址:phpstudy网站或站点创建成功,打开无响应_php打开提示站点创建成功_荒-漠的博客-CSDN博客 二.vendor目录不存在 composer未安装 解决地址:laravel安装composer依赖_荒-漠的博客-CSDN博客 三.首页可以展示 里面路径404 未配…

c++游戏制作指南(三):c++剧情类文字游戏的制作

🍿*★,*:.☆( ̄▽ ̄)/$:*.★* 🍿 🍟欢迎来到静渊隐者的csdn博文,本文是c游戏制作指南的一部🍟 🍕更多文章请点击下方链接🍕 🍨 c游戏制作指南&#x1f3…

SQL ASNI where from group order 顺序 where和having,SQL底层执行原理

SQL语句执行顺序: from–>where–>group by -->having — >select --> order 第一步:from语句,选择要操作的表。 第二步:where语句,在from后的表中设置筛选条件,筛选出符合条件的记录。 …

Redis压缩列表

区分一下 3.2之前 Redis中的List有两种编码格式 一个是LINKEDLIST 一个是ZIPLIST 这个ZIPLIST就是压缩列表 3.2之后来了一个QUICKLIST QUICKLIST是ZIPLIST和LINKEDLIST的结合体 也就是说Redis中没有ZIPLIST和LINKEDLIST了 然后在Redis5.0引入了LISTPACK用来替换QUiCKLIST中的…

Windows下使用Maven命令打包Java后台代码

文章目录 1 JDK 环境变量配置2 Maven 环境变量配置3 Maven 命令打包3.1 清除之前打好的包3.2 直接打包3.3 跳过单元测试进行打包 1 JDK 环境变量配置 在 Windows 下配置 JDK 的环境变量可以按照以下步骤进行: 首先,确保已经安装了 JDK。可以从 Oracle …

SpringCloud实用篇2——Nacos配置管理 Feign远程调用 Gateway服务网关

目录 1 Nacos配置管理1.1 统一配置管理1.1.1 在nacos中添加配置文件1.1.2 从微服务拉取配置 1.2 配置热更新1.2.1 方式一1.2.2 方式二(推荐) 1.3.配置共享 2 搭建Nacos集群2.1 集群结构图2.2 搭建集群2.2.1 初始化数据库2.2.2 下载nacos2.2.3 配置Nacos2…

大文件传输软件| 生命科学中的关键因素

在2023年,生命科学领域以及其先进的科学技术吸引了人们的目光。这些研究背后,很少有人知道的是,其中涉及了大量的研究数据需要实时进行文件传输,以便于研究,合作,分享,分析,临床试验…

Nat、端口映射、内网穿透有什么区别?

简单地说端口映射、nat、内网穿透都是一个意思,同样的目的是解决跨网问题,同样涉及网络地址转换,如果要将内网服务器发布外网访问,就会用到其中一种方式。 细致地说,端口映射、nat、内网穿透又有所区别,端…

03_012slab块分配器,管理内核内存分配,管理高速缓存

物理背景 为什么会有缓存cache 在最初开发ARM架构时,处理器的时钟速度和内存的访问速度大致相同。今天的处理器内核要复杂得多,其时钟速度可以快上几个数量级。但是,外部总线和内存设备的频率并没有扩大到同样的程度。有可能实现小块的片上S…

Object Map 的相互转换

学生业务对象定义&#xff1a;Student Student student new Student(); student.setId(1L); student.setName("令狐冲") student.setAge(10) 第一种&#xff1a;通过Alibaba Fastjson实现 pom.xml 文件依赖 <dependency><groupId>com.alibaba</g…