CentOS 7 源码部署 Nginx

文章目录

      • 1. 概述
      • 2. 部署示例
        • 2.1 下载和解压 Nginx 源码
        • 2.2 安装编译依赖包
        • 2.3 编译和安装
        • 2.4 启动 Nginx
        • 2.5 配置防火墙
        • 2.6 设置 Nginx 为系统服务
        • 2.7 配置访问
      • 3. 扩展知识

1. 概述

Nginx 是一款高性能的开源 Web 服务器软件,广泛应用于互联网领域。本篇博客将介绍如何在 CentOS 7 系统上通过源码编译的方式安装和配置 Nginx。

2. 部署示例

以下是在 CentOS 7 上源码部署 Nginx 的步骤示例:

2.1 下载和解压 Nginx 源码
  • 官方下载地址:https://nginx.org/en/download.html
    在这里插入图片描述

首先,将下载好的 Nginx 源码包移动到 /usr/local/src/ 目录,并解压:

下载nginx的源码包

wget https://nginx.org/download/nginx-1.21.6.tar.gz

解压

mv nginx-1.21.6.tar.gz /usr/local/src/ && cd /usr/local/src/
tar -zxvf nginx-1.21.6.tar.gz && cd nginx-1.21.6
2.2 安装编译依赖包

安装编译 Nginx 所需的依赖包,包括 gcc、pcre 和 zlib:

yum install -y gcc
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
2.3 编译和安装

使用以下命令进行编译和安装 Nginx:

./configure --prefix=/usr/local/nginx
make && make install
2.4 启动 Nginx

进入 Nginx 安装目录,并启动 Nginx 服务:

cd /usr/local/nginx/sbin/
./nginx    # 启动

停止重启命令

./nginx -s stop    #快速停止
./nginx -s quit    #优雅关闭(退出前,完成已经接受的连接请求)
./nginx -s reload  #重新加载配置
2.5 配置防火墙

如果需要通过 HTTP 访问 Nginx,默认使用的是 80 端口。需要将该端口放行:

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=8088/tcp --permanent
firewall-cmd --reload
2.6 设置 Nginx 为系统服务

创建 Nginx 的服务脚本 /usr/lib/systemd/system/nginx.service,并设置开机自启动:

vim /usr/lib/systemd/system/nginx.service

在编辑器中输入以下内容:

[Unit]
Description=nginx - web server
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=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

保存并退出编辑器。

先停止nginx

./nginx -s stop    #快速停止

重新加载系统服务,并启动 Nginx:

systemctl daemon-reload			#重载nginx配置
systemctl start nginx.service	#启动
systemctl enable nginx.service	#开机自启动

重启与停止

systemctl restart nginx.service		#重启
systemctl stop nginx.service		#停止
2.7 配置访问

创建目录,新增html文件

mkdir -p /www/vod


#写入文件内容
cat > /www/vod/index.html <<EOF
this is josh  vod_web
EOF

编辑nginx配置文件

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

修改server模块如下配置

    server {
        listen       8088;	#监听端口
        server_name  localhost;


        location / {

             root   /www/vod;	#html路径
             index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }


访问nginx
如果出现打不开,请关闭selinux,在尝试。
在这里插入图片描述

3. 扩展知识

在实践案例中,我们了解了如何通过源码编译的方式在 CentOS 7 上安装和配置 Nginx。除了上述示例中的步骤,还有一些其他值得注意的知识点:

  • Nginx 配置文件:Nginx 的主要配置文件位于 /usr/local/nginx/conf/nginx.conf,你可以根据需要进行修改和定制。
  • 虚拟主机配置:Nginx 支持虚拟主机,可以在配置文件中添加多个 server 块来配置不同的虚拟主机。
  • HTTPS 配置:如果需要启用 HTTPS 支持,可以在 Nginx 配置文件中配置 SSL 证书和密钥,并将监听端口改为 443。
  • 性能优化:Nginx 以其高性能而闻名,但在实际应用中,还可以进行一些性能优化的配置,例如启用缓存、调整工作进程数等。

总之,通过源码编译安装 Nginx 可以获得更高的灵活性和定制性。Nginx 是一个功能强大的 Web 服务器,适用于各种规模的网站和应用场景。

结束语:
希望本篇博客能够帮助你在 CentOS 7 上成功部署 Nginx,并为你的网站或应用提供高性能的服务。如果你对 Nginx 还有其他问题或需要进一步的帮助,请随时提问。感谢阅读本篇博客!

参考资料:

  • Nginx 官方网站
  • Nginx 文档
  • CentOS 官方网站

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

go学习之反射知识

反射 文章目录 反射1、反射的使用场景1&#xff09;结构体标签的应用2&#xff09;使用反射机制编写函数的适配器&#xff08;桥连接&#xff09; 2、反射的基本介绍-1.基本介绍-2.反射的图解-3.反射重要的函数和概念 3.反射快速入门-1.请编写一个函数&#xff0c;演示对&#…

设计模式-享元模式

设计模式专栏 模式介绍模式特点应用场景工厂模式和享元模式的区别代码示例Java实现享元模式python实现享元模式 享元模式在spring中的应用 模式介绍 享元模式是一种软件设计模式&#xff0c;它使用共享对象来减少内存使用量&#xff0c;并分享信息给尽可能多的相似对象。这种模…

【C语言程序设计】循环结构程序设计

目录 前言 一、程序设计第一题 二、程序设计第二题 三、程序设计第三题 总结 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Filotimo__✍️原创&#xff0c;首发于CSDN&#x1f4da…

C语言—每日选择题—Day45

第一题 1. 以下选项中&#xff0c;对基本类型相同的指针变量不能进行运算的运算符是&#xff08;&#xff09; A&#xff1a; B&#xff1a;- C&#xff1a; D&#xff1a; 答案及解析 A A&#xff1a;错误&#xff0c;指针不可以相加&#xff0c;因为指针相加可能发生越界&…

Geotrust中的dv ssl证书

DV SSL数字证书是入门级的数字证书&#xff0c;Geotrust的子品牌RapidSSL旗下的SSL数字证书产品都是入门级的SSL数字证书——DV基础型单域名SSL证书和DV基础型通配符SSL证书。今天就随SSL盾小编了解Geotrust旗下的DV SSL证书。 1.Geotrust旗下的DV基础型单域名SSL证书能够保护…

SAP ABAP excel文件模板上传下载

一&#xff1a;事物码smw0 二&#xff1a;上传步骤 程序源码&#xff1a; l_filename XX.xls.l_muban z123. *&---下载模板PERFORM frm_get_fullpath CHANGING gv_fullpath gv_path gv_name. *&---路径为空则退出IF gv_fullpath IS INITIAL.MESSAGE 用户取消操作 T…

DS查找——折半查找求平方根

Description 假定输入y是整数&#xff0c;我们用折半查找来找这个平方根。在从0到y之间必定有一个取值是y的平方根&#xff0c;如果我们查找的数x比y的平方根小&#xff0c;则x^2<y&#xff0c;如果我们查找的数x比y的平方根大&#xff0c;则x^2>y&#xff0c;我们可以据…

看图识药,python开发实现基于VisionTransformer的119种中草药图像识别系统

中药药材图像识别相关的实践在前面的系列博文中已经有了相应的实践了&#xff0c;感兴趣的话可以自行移步阅读即可&#xff0c;每篇文章的侧重点不同&#xff1a; 《python基于轻量级GhostNet模型开发构建23种常见中草药图像识别系统》 《基于轻量级MnasNet模型开发构建40种常…

Day58力扣打卡

打卡记录 下一个更大元素 IV&#xff08;单调栈 x2&#xff09; 链接 class Solution:def secondGreaterElement(self, nums: List[int]) -> List[int]:ans [-1] * len(nums)s []t []for i, x in enumerate(nums):while t and nums[t[-1]] < x:ans[t.pop()] x # t…

CSS的三大特性(层叠性、继承性、优先级---------很重要)

CSS 有三个非常重要的三个特性&#xff1a;层叠性、继承性、优先级。 层叠性 场景&#xff1a;相同选择器给设置相同的样式&#xff0c;此时一个样式就会覆盖&#xff08;层叠&#xff09;另一个冲突的样式。层叠性主要解决样式冲突 的问题 原则&#xff1a;  样式冲突&am…

nodejs微信小程序+python+PHP的外卖数据分析-计算机毕业设计推荐django

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…

Ubuntu编译文件安装SNMP服务

net-snmp源码下载 http://www.net-snmp.org/download.html 编译步骤 指定参数编译 ./configure --prefix/root/snmpd --with-default-snmp-version"2" --with-logfile"/var/log/snmpd.log" --with-persistent-directory"/var/net-snmp" --wi…

应用程序映射的 5 个安全优势

现代企业依靠无数的软件应用程序来执行日常运营。这些应用程序相互连接并协同工作以提供所需的服务。了解这些应用程序如何相互交互以及底层基础设施对于任何组织都至关重要。这就是应用程序映射概念的用武之地。 顾名思义&#xff0c;应用程序映射是创建应用程序架构&#xf…

[NAND Flash 3.2] 3D NAND 工艺与发展前沿

依公知及经验整理&#xff0c;原创保护&#xff0c;禁止转载。 专栏 《深入理解NAND Flash》 全文 6200 字&#xff0c;​2023.12.12 更新 1. 导论 1.1 何为 3D NAND? 3D NAND, 也叫做 Sumsung V-NAND, 是一种高密度闪存。 以前&#xff0c;把NAND闪存颗粒&#xff0c;直接…

互斥锁的原理

互斥锁&#xff08;Mutex&#xff0c;全称Mutual Exclusion&#xff09;是一种同步机制&#xff0c;用于确保在任意时刻&#xff0c;只有一个线程可以访问共享资源&#xff0c;从而防止数据竞争和不一致性。互斥锁的基本思想是在进入临界区之前&#xff0c;先获取锁&#xff1b…

Python和Beautiful Soup爬虫助力提取文本内容

大家好&#xff0c;网络爬虫是一项非常抢手的技能&#xff0c;收集、分析和清洗数据是数据科学项目中最重要的部分。今天介绍如何从链接中爬取高质量文本内容&#xff0c;我们使用迭代&#xff0c;从大约700个链接中进行网络爬取。如果想直接跳转到代码部分&#xff0c;可以在下…

【JVM从入门到实战】(四)类的生命周期

什么是类的生命周期 类的生命周期描述了一个类加载、连接、初始化、使用、卸载的整个过程 一个类完整的生命周期如下&#xff1a; 加载阶段 加载阶段第一步是类加载器根据类的全限定名通过不同的渠道以二进制流的方式获取字节码信息。 程序员可以使用Java代码拓展的不同的渠道…

计算机视觉 基于视频识别场景了解GluonCV深度学习工具包

一、简述 GluonCV 提供计算机视觉领域最先进 (SOTA) 深度学习算法的实现。它旨在帮助工程师、研究人员和学生快速制作产品原型、验证新想法并学习计算机视觉。 GluonCV: a Deep Learning Toolkit for Computer Vision — gluoncv 0.11.0 documentationhttps://cv.gluon.ai/con…

FFmpeg的AVIOPROBE

文章目录 定义 可能你一直有疑问&#xff0c;ffmpeg的avformat是怎么提前知道码流是编码格式或者容器&#xff1f;恭喜你&#xff0c;看到这里&#xff0c;你找到答案了&#xff0c;在这里&#xff0c;ffmpeg通过这些probe函数来提前获取码流的编码格式。 看到下面的avs2_prob…

单变量线性回归的机器学习代码

本文为学习吴恩达版本机器学习教程的代码整理&#xff0c;使用的数据集为https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes/blob/f2757f85b99a2b800f4c2e3e9ea967d9e17dfbd8/code/ex1-linear%20regression/ex1data1.txt 将数据集和py代码放到同一目录中&#xff0c;使…