【正式服部署】安装Nginx

2023-12-19

【正式服部署】安装Nginx

???? 千寻简笔记介绍

千寻简文库已开源,Gitee与GitHub搜索 chihiro-doc ,包含笔记源文件 .md ,以及PDF版本方便阅读,文库采用精美主题,阅读体验更佳,如果文章对你有帮助请帮我点一个 Star

更新: 支持在线阅读文章,根据发布日期分类。

简介

  • 系统版本:CentOS 7

    • 查看命令: cat /etc/redhat-release
  • Nginx版本:1.20.2

    • 查看命令:

      [root@localhost sbin]# whereis nginx
      nginx: /usr/local/nginx
      [root@localhost sbin]# cd /usr/local/nginx/sbin/
      [root@localhost sbin]# ./nginx -v
      nginx version: nginx/1.20.2
      
  • yum版本:3.4.3

    • 查看命令: yum -v

本文关键词

nginx CentOS 安装教程

实现步骤

1 安装Nginx

1.1 安装Nginx依赖包

在安装Nginx之前安装这些软件包是因为Nginx使用了一些功能和模块,这些功能和模块需要这些软件包中的文件和库来支持和编译。

  • gcc :是GNU编译器套件,用于编译源代码。Nginx可能需要编译一些模块或自定义配置,因此需要gcc来编译源代码。
  • pcre-devel :PCRE是Perl Compatible Regular Expressions的缩写,这个软件包提供了正则表达式的支持。Nginx使用PCRE作为其中一个HTTP模块,以支持正则表达式匹配功能。
  • zlib-devel :zlib是一个用C语言编写的压缩库,Nginx使用它来进行HTTP数据的压缩和解压缩。
  • openssl openssl-devel :OpenSSL是一个用于安全通信的加密库。Nginx可以使用OpenSSL来支持HTTPS和SSL/TLS协议,openssl-devel提供了开发所需的文件和头文件,以便Nginx可以与OpenSSL进行集成。

安装这些软件包是确保在编译Nginx时拥有必要的依赖项,以便支持Nginx的各种功能和模块,尤其是对于HTTPS、压缩和正则表达式等功能的支持。

# 一键安装上面四个依赖
[root@localhost ~]# yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
Complete!
1.2 下载并解压安装包

查看可下载的版本:

http://nginx.org/download/

下载

# 切换目录
[root@localhost ~]# cd /
# 创建一个文件夹
[root@localhost ~]# mkdir -p /www/server/nginx
# 切换目录
[root@localhost ~]# cd /www/server/nginx
# 下载
[root@localhost nginx]# wget http://nginx.org/download/nginx-1.20.2.tar.gz
# 解压
[root@localhost nginx]# tar -xvf nginx-1.20.2.tar.gz

【可网络请求的服务器忽略此步骤】如果登录的是堡垒机,不允许发起网络请求下载,直接请求文件网址进行下载上传到我们创建的目录,堡垒机工具可以使用xftp,可通过堡垒机直接上传到指定目录。

http://nginx.org/download/nginx-1.20.2.tar.gz

上传完成后查看目录文件

# 查看路径
[root@localhost nginx]# pwd
/www/server/nginx
# 查看文件是否上传成功,大小与网页标注一致
[root@localhost nginx]# ll
total 1040
-rw-r--r-- 1 root root 1062124 Nov 29 15:56 nginx-1.20.2.tar.gz
# 解压
[root@localhost nginx]# tar -xvf nginx-1.20.2.tar.gz
1.3 安装nginx

扩展知识:

  • ./configure :这是运行Nginx的配置脚本的命令。它会检查系统环境并根据系统的特定情况设置Nginx的编译选项。
  • –prefix=/usr/local/nginx :这个选项指定了Nginx安装的路径。在这里, /usr/local/nginx 是指将Nginx安装到 /usr/local/nginx 目录下。 --prefix 选项允许你指定Nginx的安装根目录,你可以根据自己的需求选择不同的路径。
# 进入nginx目录
[root@localhost nginx]# cd /www/server/nginx
# 进入目录
[root@localhost nginx]# cd nginx-1.20.2
# 执行命令:配置编译Nginx的安装选项
[root@localhost nginx-1.20.2]# ./configure --prefix=/usr/local/nginx
# 执行make命令
[root@localhost nginx-1.20.2]# make
# 执行make install命令
[root@localhost nginx-1.20.2]# make install
1.4 配置nginx.conf
# 备份Nginx配置文件
[root@localhost conf]# cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
# 打开配置文件
[root@localhost conf]# vim /usr/local/nginx/conf/nginx.conf
1.5 运行以下命令,进入Nginx的sbin目录,然后启动Nginx
[root@localhost nginx]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx

安装完成一般常用命令

  • 首先进入 sbin 目录

    [root@localhost sbin]# cd /usr/local/nginx/sbin
    
  • 启动 Nginx

    [root@localhost sbin]# ./nginx
    
  • 停止 Nginx

    [root@localhost sbin]# ./nginx -s stop
    
  • 重新加载 Nginx

    [root@localhost sbin]# ./nginx -s reload
    
  • 查看 Nginx 版本

    [root@localhost sbin]# ./nginx -v
    
1.6 查看nginx是否成功启动
[root@localhost sbin]# ps -ef | grep nginx
root     24247     1  0 16:08 ?        00:00:00 nginx: master process ./nginx
nobody   24248 24247  0 16:08 ?        00:00:00 nginx: worker process
root     24250 21480  0 16:11 pts/0    00:00:00 grep --color=auto nginx

2 扩展

2.1 配置文件修改后,需要指定配置文件进行重启
/usr/local/nginx/sbin/nginx -s reload -c /usr/local/nginx/conf/nginx.conf
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
#定配置文件进行重启
[root@localhost sbin]# /usr/local/nginx/sbin/nginx -s reload -c /usr/local/nginx/conf/nginx.conf
#检测文件是否配置正确
[root@localhost sbin]# /usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
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@localhost sbin]# mkdir -p /var/log/nginx
2.2 创建一个软链接启动nginx
#建立软链接
[root@localhost sbin]# ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
#启动
[root@localhost sbin]# nginx
#查看nginx版本
[root@localhost ~]# nginx -v
nginx version: nginx/1.21.0
2.3 配置nginx开机自启动
  1. 创建一个nginx.service,按 i 键进入编辑模式,修改配置文件,按 Esc 键,然后输入 :wq 并按 Enter 键以保存
#进入目录
[root@localhost system]# cd /usr/lib/systemd/system/
#创建文件
[root@localhost system]# touch nginx.service
#编辑文件内容
[root@localhost system]# vi /usr/lib/systemd/system/nginx.service
#赋予可执行的权限
[root@localhost system]# chmod +x /usr/lib/systemd/system/nginx.service
  1. 编辑文件内容
[Unit]                                                                                      #对服务的说明
Description=nginx - high performance web server              #描述服务
After=network.target remote-fs.target nss-lookup.target   #描述服务类别

[Service]                                                                                 #服务的一些具体运行参数的设置
Type=forking                                                                         #后台运行的形式
PIDFile= /usr/local/nginx/logs/nginx.pid                               #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                                               #服务用户的模式
  1. 查看文件内容
[root@localhost ~]# cat /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance 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
  1. 启动服务
#在启动服务之前,需要先重载systemctl命令
[root@localhost ~]# systemctl daemon-reload
#启动服务或者使用systemctl start nginx
[root@localhost ~]# systemctl start nginx.service
#运行以下命令设置Nginx服务开机自启动
[root@localhost ~]# systemctl enable nginx
#查看nginx
[root@localhost ~]# ps -ef | grep nginx
root      14869      1  0 17:37 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody    14871  14869  0 17:37 ?        00:00:00 nginx: worker process
root      14893   1549  0 17:37 pts/0    00:00:00 grep --color=auto nginx
  1. 配置systemctl之后的启动方式
systemctl status nginx  #状态
systemctl start nginx  #启动
systemctl stop nginx   #停止
systemctl restart nginx  #重启
  1. 使用reboot命令重启后,查看nginx是否成功的自启动了
[root@localhost ~]# reboot
Connection to 192.168.0.197 closed by remote host.
Connection to 192.168.0.197 closed.

C:\Users\beauty>ssh root@192.168.0.197
root@192.168.0.197's password:
Last login: Sat Jun  5 16:09:35 2021 from 192.168.0.194
[root@localhost ~]# ps -ef | grep nginx
root       1081      1  0 17:39 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody     1084   1081  0 17:39 ?        00:00:00 nginx: worker process
root       1567   1548  0 17:40 pts/0    00:00:00 grep --color=auto nginx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【正式服部署】安装Nginx 的相关文章

  • 正确配置JDK环境变量后仍然找不到java命令

    我在 Windows 虚拟机启动时安装 JDK 使用 cloudinit 用户数据将 PowerShell 脚本传输到 Windows 计算机 然后运行该脚本来安装 JDK softwares Get ItemProperty HKLM S
  • Java Sqlite Gradle

    我对 gradle 和 java 还很陌生 我有一个使用 sqlite 的项目 它通过 intellij idea 运行良好 但我无法从终端运行它 它会抛出异常 java lang ClassNotFoundException org sq
  • 如何降低圈复杂度?

    我正在开发一个将 RequestDTO 发送到 Web 服务的类 我需要在发送请求之前验证该请求 请求可以从 3 个不同的地方发送 并且每个 请求类型 有不同的验证规则 例如请求1必须有姓名和电话号码 请求2必须有地址等 我有一个 DTO
  • 在 Tomcat 上部署 Java Web 项目,无需 WAR 或 EAR

    我有一个 Java Web 项目 Struts Spring 在我的本地主机上完美运行 我必须将其部署在我的网站上 但虚拟主机提供的 Tomcat Manager 界面显示 由于安全原因 它无法上传 WAR 文件 当联系技术支持时 我被告知
  • 在 Android 中绘制一条带有弯曲边缘的线

    I am using canvas drawLine to draw some line in android but the lines are too sharp but i need a curved edges 这里的 1 是我所拥
  • java中队列的实现

    在 Java 中实现队列是一个非常常见的面试问题 我在网上冲浪 看到了许多实现 他们做了一些奇特的事情 比如实现队列接口和编写自己的addLast and removeFirst 方法 我的问题是我不能使用LinkedList 类并使用其预
  • 代码编译期间遇到警告消息“使用或覆盖已弃用的 API”

    我编译了我的程序并收到以下错误 我该如何解决呢 Note ClientThreadClients java uses or overrides a deprecated API Note Recompile with Xlint depre
  • 通过 JNI 从 Applet 调用 DLL

    我有一个 概念验证 的作品 它跨越了一些不熟悉的领域 我的任务是将 EFTPOS 机器连接到在内联网浏览器中作为小程序运行的应用程序 我暂时忽略了 EFTPOS dll 并用我选择的语言 Delphi 创建了一个简单的 JNI 修饰的 DL
  • 更改 JTextPane 的大小

    我是Java新手 刚刚在StackOverflow中找到了这段代码 ResizeTextArea https stackoverflow com questions 9370561 enabling scroll bars when jte
  • 如何在Gradle中支持多种语言(Java和Scala)的多个项目?

    我正在尝试将过时的 Ant 构建转换为 Gradle 该项目包含约50个Java子项目和10个Scala子项目 Java 项目仅包含 Java Scala 项目仅包含 Scala 每个项目都是由 Java 和 Scala 构建的 这大大减慢
  • 中间件 API 的最佳实践是什么? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们正在开发一个中间件 SDK 采用 C 和 Java 语言 供游戏开发人员 动画软件开发人员 阿凡达开
  • 在多模块项目中访问绑定适配器

    我有一个多模块项目 其中应用程序模块包含我的绑定适配器 而我的功能模块取决于我的应用程序模块 因为它是动态功能模块 应用程序 包含绑定适配器 gt 动态功能模块 存在布局的地方 我在所有模块中启用了数据绑定和 kapt 我无法成功构建应用程
  • NoSuchMethodError:将 Firebase 与应用程序引擎应用程序集成时

    我试图将 firebase 实时数据库与谷歌应用程序引擎应用程序集成 我在调用时收到此错误 gt DatabaseReference ref FirebaseDatabase gt getInstance gt getReference t
  • 在 netBeans 中运行程序时,字体看起来非常奇怪

    我在我的新 MacBook M1 上设置了 netBeans 和 SceneBuilder 除了运行程序时的字体外 一切正常 它看起来像这样 我不知道为什么 按钮应显示 Click me 标签应显示 Hello 我收到的错误消息是 M rz
  • 为什么 RMI 注册表忽略 java.rmi.server.codebase 属性

    我正在运行 java RMI 的 Hello World 示例 1 我在空文件夹中运行注册表 motta motta laptop tmp rmiregistry 2 我启动 HTTP 服务器以在运行时检索类 下载文件夹包含客户端 服务器的
  • 在方法内声明类 - Final 关键字 [重复]

    这个问题在这里已经有答案了 给定方法中的以下内部类 IsSomething public class InnerMethod private int x public class Something private int y public
  • JPA - 非主键字段上的 @OneToOne 关系不起作用

    我有一个 Spring Data JPA 后端 使用 Hibernate 作为 ORM 实现 这是模型 Person MailConfig id PK uid PK FK Person uid uid Entity
  • BoneCP 和 Derby - 如何正确关闭

    I have BoneCP CONNECTION POOL CONNECTION POOL getConfig setJdbcUrl jdbc derby database shutdown true Connection connecti
  • 连接到上游时 Nginx 错误:(13:权限被拒绝)

    我在我的中收到此错误nginx error log file 2014 02 17 03 42 20 crit 5455 0 1 connect to unix tmp uwsgi sock failed 13 Permission den
  • java中的回调是什么[重复]

    这个问题在这里已经有答案了 可能的重复 什么是回调函数 https stackoverflow com questions 824234 what is a callback function 我已经阅读了回调的维基百科定义 但我仍然没有明

随机推荐

  • 软件测试/测试开发/人工智能丨模型是通过什么原理帮助业务解决问题

    人工智能 AI 模型通过机器学习和深度学习等原理来帮助业务解决问题 以下是一些主要的原理和技术 它们构成了人工智能模型的基础 1 机器学习 机器学习是一种让计算机系统通过学习从数据中发现模式和规律的方法 主要分为监督学习 无监督学习和强化学
  • optisystem案例解析》好书分享

    目 录 安装OptiSystem 简介 快速入门 案例1 发射机 外调制激光 案例2 子系统 分层模拟 案例3 光学系统 WDM设计 案例4 参数扫描 BERx输入功率 案例5 双向模拟 使用多次迭代 案例6 时间驱动模拟 单独采样 案例7
  • 计算机SSM毕设选题 协同过滤算法的电影推荐系统

    开发语言 Java Java开发工具 JDK1 8 后端框架 SSM 前端 Vue 数据库 MySQL5 7和Navicat管理工具结合 服务器 Tomcat8 5 开发软件 IDEA Eclipse 是否Maven项目 是 目录 一 项目
  • Selenium+Jave—Window文件窗口+比对文件

    新生一学期敲70万行代码 华为上海青浦 途虎一面凉经 途虎养车前端一面面经 途虎一面凉经 前端 途虎养车二面 途虎校招前端一面面经 中石油昆仑数智产品经理岗 中石油昆仑数智 数据分析工程师 华为上海青浦 上海银行背调 回暖分析 战绩结算 o
  • Uniapp上传下载文件-不限制文件类型-附详细代码解析

    Uniapp上传下载文件 不限制文件类型 1 知识小课堂 1 1 Uniapp简介 1 2 文件上传 1 3 文件下载 2 Uniapp上传文件 3 Uniapp 下载文件 1 知识小课堂 1 1 Uniapp简介 UniAp
  • 黑马程序员《PHP基础案例教程》第2版课后练习—第04章

    第4章课后练习 答案均参考教材官方发布的PPT 以下是下载PPT的页面 人民邮电出版社教育社区 PHP基础案例教程 第2版 图书 人邮教育社区 一 填空题 1 数组分为索引数组和 关联数组 2 使用短数组方式定义数组的语法是 数组元素使用
  • CSDN:黑马程序员《PHP基础案例教程》第2版课后练习—第05章

    第5章课后练习 答案均参考教材官方发布的PPT 以下是下载PPT的页面 人民邮电出版社教育社区 PHP基础案例教程 第2版 图书 人邮教育社区 一 填空题 1 在运行PHP文件时 如果PHP语句遗漏了分号 属于 语法 错误 2 在PHP程序
  • 低代码企业级PMO项目管理系统,360度全景透视企业管理视角

    在一个崇高的目标支持下 不停地工作 即使慢 也一定会获得成功 爱因斯坦 前情概要 企业级PMO项目管理业务是行业里相对成熟和规范的业务 拥有众多商业套件和标准产品 然而随着企业数字化建设进入深水区 站在甲方角度进行项目管理的业务视角 精细化
  • 得帆信息创始人-张桐,受邀出席 BV百度风投AIGC主题论坛

    近日 得帆信息创始人兼CEO张桐 作为百度风投被投代表企业创始人受邀出席 向未来 共成长 BV百度风投AIGC主题论坛 与包括上海市徐汇区相关部门领导 百度集团相关事业部负责人及代表 以及来自国寿资本 中网投 麦顿投资的投资人 BV百度风投
  • Typora+Picgo(正常) 却上传图片失败问题解决思路和办法

    报错信息 在typora中粘贴图片时报错 显示上传图片失败 有点奇怪 而我确定我的picgo正常且通过了测试 那我们就去看日志 跟踪排查问题在哪里 我的picgo日志文件路径在 D user username Application Dat
  • Vue中英文翻译小结

    背景 时局艰难 后端开发被强制写了vue 这不有个需求是中英文翻译 特此记录下 该怎么个翻译法子 先引入全局的路由国际化文件 zh js 和 en js 1 关于插值表达Button里面 t reinsop common back 2 关于
  • onvif协议笔记

    一 简介 ONVIF官网 ONVIF协议网络摄像机 IPC 客户端程序开发 1 专栏开篇 onvif协议开发 二 gSOAP gsoap官网 1 下载和编译 下载地址 bin sh 指定源码目录 解压源码 GSOAP SRC gsoap 2
  • nacos启动 java.net.UnknownHostException: jmenv.tbsite.net

    只做记录 地址在这 windows 双击执行startup cmd文件 默认是以集群方式启动nacos 由于只想用单体的并没有配置集群相关的属性 所以无法启动 解决方式1 在命令行输入startup m standalone以单机模式启动就
  • 冬日路亚,寒冬中的收获【钓鱼博客】12.17日

    12月17日 南京 桦树钓场 晴 气温 零下4度到0度 虽屋外寒风刺骨 但钓鱼佬实在是压不住心里想钓鱼的冲动 我还是出发了 才抛几竿 出线孔和鱼竿导线孔结冰 以上阿尔法渔轮的导线规由于线上有水导致结冰冻上了 中鱼出线视频 轮子咔咔出线 渔获
  • 黑马程序员《PHP基础案例教程》第2版课后练习—第03章

    第3章课后练习 答案均参考教材官方发布的PPT 以下是下载PPT的页面 人民邮电出版社教育社区 PHP基础案例教程 第2版 图书 人邮教育社区 一 填空题 1 定义函数使用的关键字为 function 2 用于对字符串中的某些字符进行替换操
  • 密码学上的经典瞬间:如果当时有Python

    提到 安全 首先想到的一定是加密 在如今的互联网环境中 信息加密无处不在 我们早已习惯 甚至毫无感觉 比如 通过https协议访问的各个网站的内容 QQ 微信等聊天工具之间互相发送的信息等等 都是经过加密处理的 前几天看了一篇介绍密码学历史
  • Linux CentOS7安装harbor

    1 下载harbor离线包 wget https github com goharbor harbor releases download v2 4 2 harbor offline installer v2 4 2 tgz 2 解压安装
  • Fortinet在“IDC MarketScape: 中国软件定义广域网基础设施2023年厂商”评估中位居“领导者”类别

    近日 IDC MarketScape 中国软件定义广域网基础设施2023年厂商评估 正式发布 该报告通过 IDC MarketScape 厂商评估模型对中国SD WAN基础设施厂商进行了评估 Fortinet 在该报告中位居 领导者 类别
  • 常见的6种软件测试用例设计方法

    常见的软件测试用例设计方法 个人认为主要是下面这6种 流程图法 也叫场景法 等价类划分法 边界值分析 判定表 正交法 错误推测法 这6种常见方法中 我分别按照定义 应用场景 使用步骤 案例讲解这4个部分进行讲解 所以本文行文结构如下 每种用
  • 【正式服部署】安装Nginx

    正式服部署 安装Nginx 千寻简笔记介绍 千寻简文库已开源 Gitee与GitHub搜索 chihiro doc 包含笔记源文件 md 以及PDF版本方便阅读 文库采用精美主题 阅读体验更佳 如果文章对你有帮助请帮我点一个 Star 更新