CentOS 7中安装Nginx 并设置自启动

2023-11-07

在CentOS 7中安装Nginx。

当使用以下命令安装Nginx时,发现无法安装成功。

yum install -y nginx

[如果出现没有可用软件包]需要做一点处理。

安装Nginx源

执行以下命令:

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

安装该rpm后,我们就能在/etc/yum.repos.d/ 目录中看到一个名为nginx.repo 的文件。

安装Nginx

安装完Nginx源后,就可以正式安装Nginx了。

yum install -y nginx

Nginx默认目录

输入命令:

whereis nginx

即可看到类似于如下的内容:

nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx

以下是Nginx的默认路径:

(1) Nginx配置路径:/etc/nginx/

(2) PID目录:/var/run/nginx.pid

(3) 错误日志:/var/log/nginx/error.log

(4) 访问日志:/var/log/nginx/access.log

(5) 默认站点目录:/usr/share/nginx/html

事实上,只需知道Nginx配置路径,其他路径均可在/etc/nginx/nginx.conf 以及/etc/nginx/conf.d/default.conf 中查询到。

2、通过压缩包进行安装

1、下载安装包 nginx: download

 右键,复制链接地址,在liunx中使用 wget获取【我是在 root 根目录下执行的下载,他会下载到root目录下】

 2、解压缩【我将压缩文件剪贴到了 /root/share/nginx目录下】

[root@localhost share]# mkdir nginx
[root@localhost share]# mv /root/nginx-1.20.2.tar.gz nginx
[root@localhost share]# ls
app  centos  nginx  webapp
[root@localhost share]# ls nginx
nginx-1.20.2.tar.gz
[root@localhost share]# cd nginx
[root@localhost nginx]# tar -zxf nginx-1.20.2.tar.gz
[root@localhost nginx]# ls
nginx-1.20.2  nginx-1.20.2.tar.gz

3、进入箭头所指的文件夹

 4、通过 ./configure 进行nginx配置

./configure --prefix=/usr/share/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=/run/nginx.pid  --lock-path=/run/lock/subsys/nginx  --user=nginx --group=nginx  

按下enter键,执行

 5、编译 并 安装 【一次执行两个指令】

make && make install

 如果出现上述问题,说明缺少依赖,安装依赖

执行

yum -y install gcc openssl openssl-devel pcre-deve

再次执行 ./configure 进行基本配置

./configure --prefix=/usr/share/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=/run/nginx.pid  --lock-path=/run/lock/subsys/nginx  --user=nginx --group=nginx  

再次编译 并 安装 【一次执行两个指令】,本次就不会报错了

make && make install

 这样压缩包安装就OK了,在这里建议使用压缩包安装,因为yum安装找不到 ./configure 目录,那么我们无法添加 ssl 和 stream 支持。

Nginx 常用命令

(1) 启动:

nginx

(2) 测试Nginx配置是否正确:

nginx -t

(3) 优雅重启:

nginx -s reload

安装Nginx后的注意事项:

Nginx默认使用80端口,因为Linux有防火墙,因此,我们需要查看 80 端口是否开启,如果没有开启,需要开启

1、查看开放的端口信息

irewall-cmd --list-all

 2、开启 80 端口

sudo firewall-cmd --add-port=80/tcp --permanent

 3、重启防火墙,使增加的端口生效

firewall-cmd --reload

 4、查看nginx的相关路径信息

whereis nginx

 我们要想执行Nginx命令,就必须进入 红圈 内的路径,这个路径不同的操作系统可能不一致

5、查看Nginx 的版本信息

[root@localhost sbin]# cd /usr/sbin
[root@localhost sbin]# ./nginx -v
nginx version: nginx/1.20.1

6、修改Nginx配置,因为我的linux 80 端口被占用,因此,我需要使用其他端口

 Nginx 的配置文件放在了这个目录下

 修改配置文件,80 改成 8001

 7、防火墙开通 8001 端口 并重启防火墙

8、重启、停止、开启Nginx 相关指令

[root@localhost nginx]# cd /usr/sbin
[root@localhost sbin]# ./nginx                 --启动Nginx
[root@localhost sbin]# ./nginx -s stop         --关闭Ngix
[root@localhost sbin]# ./nginx
[root@localhost sbin]# ./nginx -s reload    --重加载Nginx  [修改配置文件后,必须执行,否则不生效]

9、访问 8001 端口 我的: http://192.168.136.135:8001/

 怎么变成了 welcome to centos 了?这其实是nginx的欢迎页面(每个版本的nginx各不相同),这并不代表nginx没有正常启动,  我们可以查看  /usr/share/nginx/html目录下的index.html 的内容,判断Nginx是否正确启动

 OK,截止到这儿,Nginx安装、启动成功

设置Nginx服务自启动【前提是你的nginx 已经启动,80端口可访问】

1、在 /lib/systemd/system 目录添加 nginx.service 文件

#进入自启文件目录
cd /lib/systemd/system 
#自定义nginx自启文件
touch nginx.service

2、编辑nginx.service

#编辑自启文件
vi nginx.service

3、添加一下内容, Restart=always 【如果是手动安装,直接复制粘贴,并按照下面的步骤一步步执行】

[Unit]
Description=The nginx HTTP and reverse proxy server
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
# SELinux context. This might happen when running `nginx -t` from the cmdline.
# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
Restart=always

[Install]
WantedBy=multi-user.target

 4、设置开机自启

# 设置开机启动
systemctl enable nginx

5、其它命令

# 启动 nginx
systemctl start nginx
# 停止
systemctl stop nginx
# 加载配置文件
systemctl reload nginx

6、关闭虚拟机 

init 0

7、开机,输入 whereis nginx ,测试是否设置成功

 设置成功,over

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CentOS 7中安装Nginx 并设置自启动 的相关文章

随机推荐

  • xml 入门 dtd

    xml dtd的格式 相
  • 入门文献复现——Murphy C K——Combining belief functions when evidence conflicts

    作者Murphy提出了综合平均法来组合多个BOE 大体的步骤如下 1 将给定的BOE进行平均 获得各个BPA的平均质量averageMass 2 利用Dempster的组合规则将 1 求得的平均质量进行组合 并且组合 n 1 次 n为BOE
  • Easyexcel 导出数据 一对多关系导出数据集合

    客户要求 要求导出的表格如图 实现这样表格 很多人会想到动态表头 easypoi可以直接实现 但是我用的是easyexcel 而easyexcel自身并没有提供自动合并的功能所以还是需要自己来合并 代码如下 首先我们来看下将嵌套数据平铺 不
  • 爬虫访问中,如何解决网站限制IP的问题?

    爬虫访问中 如何解决网站限制IP的问题 多年爬虫经验的人告诉你 国内ADSL是王道 多申请些线路 分布在多个不同的电信区局 能跨省跨市 IP覆盖面越多越好 九州动态IP是一款动态IP转换器客户端 该提供国内26个省共百万数据级动态ip切换
  • 数学建模模型_数学建模模型、算法、资料必备

    提到数学建模 首先想到的是国赛 美赛 其实不然 国内目前举办了很多类似的数学建模竞赛 比如五一数学建模竞赛 中青杯等比赛 这些竞赛都可以积极参与 积累实战经验 我曾参加过数次数学建模竞赛 作为过来人 针对往年数学建模竞赛的参赛经历 我提出两
  • Python Selenium 基础入门

    本内容主要介绍 Python Selenium 的基础使用方法 1 Python Selenium 简介和环境配置 1 1 Selenium 简介 Selenium 是一个 Web 的自动化测试工具 最初是为网站自动化测试而开发的 Sele
  • matlab如何读取一个文件夹下所有文件,Matlab获取一个文件夹下所有文件

    使用Matlab可以使用dir函数获取指定文件夹下的所有文件名 具体操作如下 首先进入指定的文件夹 例如 folder C Users example Documents 替换为你自己的文件夹路径 cd folder 进入指定文件夹中 然后
  • 10亿级数据量的系统性能优化设计,被惊艳到了!

    V xin ruyuanhadeng获得600 页原创精品文章汇总PDF 这篇文章 我们来聊一聊在十亿级的大数据量技术挑战下 世界上最优秀的大数据系统之一的Hadoop是如何将系统性能提升数十倍的 首先一起来画个图 回顾一下Hadoop H
  • 水面无人艇局部危险避障算法研究 参考文献

    水面无人艇局部危险避障算法研究 Local Risk Obstacle Avoidance Algorithm of USV 博主 的硕士毕业论文 参考文献 1 Manley J E Unmanned surface vehicles 15
  • Android关于手机和模拟器的区分

    在网上试了很多区分方法感觉都被模拟器破了 只能说一句模拟器太强大了 当我快要放弃的时候 突然想到个方法 方法分为获取手机的短信 获取手机的图片 获取手机的通讯录 一个正常的用户不可能没有这些信息 当然这些需要用户同意授权 所以当这些没用没授
  • 如何利用producer向Kafka发送信息(基于java客户端(Kafka-clients))

    继上一篇Kafka安装以及环境准备文章后 这一小节是讲解如何利用Java客户端kafka clients库进行消息的发送 工程结构 maven工程 maven依赖
  • C++递归算法之2的幂次方表示

    2的幂次方表示 任何一个正整数都可以用2的幂次方表示 例如 137 27 23 20 同时约定方次用括号来表示 即ab可表示为a b 由此可知 137可表示为 2 7 2 3 2 0 进一步 7 22 2 20 21用2表示 3 2 20
  • uni-form动态配置以及表单验证坑

    开发环境 uniapp小程序开发 问题 动态配置uni form表单时 uni easyinput写入默认值不显示 且表单验证 在输入数据后不自动刷新验证的问题 解决方案 源代码 修改后 增加了属性 modelValue formData
  • 单片机数码管显示0到9_单片机数码管显示0~9?

    任务描述 某企业承担了一个LED数码显示设计任务 要求单片机控制一个数码管显示0 1 2 3 4 5 6 7 8 9 每个状态停留1秒 请用单片机设计其控制系统并调试运行 仿真视频 知乎视频 www zhihu com 硬件电路原理图 元件
  • socket绑定指定网卡发包

    socket绑定指定网卡发包 SO BINDTODEVICE 网络编程中有时明明用eth0的地址来bind一个udp套接口 可是发出去的包却是从eht1走的 在网上找到这么一段话解释该问题 在多 IP 网卡主机上 UDP 包 协议会自动根据
  • java使用ssh连接linux服务器执行命令

    可以使用JSch框架来连接SSH服务器并执行命令 JSch是SSH2的一个纯Java实现 它允许你连接到一个sshd服务器 使用端口转发 X11转发 文件传输等等 你可以在pom xml文件中添加以下依赖来引入JSch框架
  • vue3 使用QrCode生成二维码

    官网地址 QrCode官网 第一步 安装 npm install save qrcode vue 第二步 引入并注册 import QrcodeVue from qrcode vue export default defineCompone
  • 层次分析法(AHP)详解+完整代码

    层次分析法 AHP 1 算法简述与原理分析 层次分析法是一种主观赋值评价方法也是一个多指标综合评价算法 常用于综合评价类模型 层次分析法将与决策有关的元素分解成目标 准则 方案等多个层次 并在此基础上进行定性和定量分析 是一种简单 实用的算
  • 移动端修改下拉框背景

    移动端设置 下拉框背景 找到下拉框控件 添加初始化后事件 setTimeout function var dateEditor document getElementById P ORGNAME firstChild dateEditor
  • CentOS 7中安装Nginx 并设置自启动

    在CentOS 7中安装Nginx 当使用以下命令安装Nginx时 发现无法安装成功 yum install y nginx 如果出现没有可用软件包 需要做一点处理 安装Nginx源 执行以下命令 rpm ivh http nginx or