侧边栏壁纸
博主头像
与晚风述往事博主等级

万般皆下品,唯有读书高。

  • 累计撰写 149 篇文章
  • 累计创建 29 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

CentOS 7 安装Nginx

与晚风述往事
2022-08-12 / 0 评论 / 0 点赞 / 71 阅读 / 1,114 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-08-12,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

环境介绍

  • CentOS Version:7.9 2009
  • Nginx Version:1.22.0
  • Mobaxterm:最新版本即可

安装

1、下载Nginx

我们选择Nginx的版本,并下载。当前Nginx使用比较多的有4种发行版,分别是:

  • Nginx
  • Nginx Plus
  • OpenResty
  • Tengine

Nginx是开源的版本,也是其他发行版本的基础版。
Nginx Plus是在基础版本上增加了许多扩展,更加简化使用。
OpenResty是以lun语言在基础版本上扩展了大量的功能。
Tengine是以C语言在基础版本上扩展了很多的功能。

在版本的选择上,需要根据自己的用途来选择。例如,你只是想学习Nginx,就建议安装Nginx开源版本。如果是商业用户,则根据公司的需求去评估选择,如果对lun脚本比较了解,则可以使用OpenResty,如果对C语言比较擅长,则建议使用Tengine。

另外,如果想安装OpenResty,则可以访问OpenResty安装

我这里直接以Nginx开源版为例,首先去官网下载Nginx,并上传至服务器中。注意,一定选则Stable version版本,其他版本要么不稳定,要么已经过时。

image-1660202860286

2、解压tar包

我这里上传到了/usr/local/src目录后,直接使用tar解压到默认目录即可。

[root@localhost src]# tar xvf nginx-1.22.0.tar.gz
# 进入解压的目录
[root@localhost src]# cd nginx-1.22.0

3、安装Nginx所需的依赖

为避免Nginx编译因缺少依赖包报错,我们安装所需的依赖,已经安装过,则会升级到最新版本。注意,这一步需要先配置yum源或服务器能够访问到外网。

[root@localhost nginx-1.22.0]# yum -y install gcc pcre pcre-devel zlib

4、编译

执行编译,编译完成后会在同级目录,也就是解压后的目录里,生成一个objs目录。

[root@localhost nginx-1.22.0]# ./configure

image-1660204443722

5、安装

在编译完成后,就需要执行make命令,通常情况下会先去执行make命令测试会不会报错,make验证没问题后,再执行make install,去真正安装Nginx。我这里为了方便,就直接一起执行了,生产环境建议先去make,make成功后,再执行make install。

[root@localhost nginx-1.22.0]# make && make install

image-1660204867126

6、启动Nginx

默认安装在/usr/local目录下,因此我们直接使用决对路径启动就行。

[root@localhost nginx-1.22.0]# /usr/local/nginx/sbin/nginx

7、测试Nginx

启动成功后,使用浏览器通过ip访问,出现如下页面,则说明安装成功。注意,本地电脑访问远程时,需要先关闭服务器的firewalld或开放80端口才能访问成功。

image-1660205101806

8、配置成系统服务和自启动

由于CentOS 7开始,使用systemd管理服务,我们就将Nginx配置为系统服务,使管理起来更加方便。配置完成后,就可以使用如下命令来管理Nginx

  • systemctl stop nginx 停止nginx服务
  • systemctl start nginx 启动nginx服务
  • systemctl reload nginx 重加载nginx服务
  • systemctl enable nginx 配置nginx跟随开机启动

新增nginx.service服务

[root@localhost nginx-1.22.0]# vim /usr/lib/systemd/system/nginx.service

在nginx.service服务中,新增以下内容。注意,PIDFile、ExecStartPre、ExecStart、ExecReload、ExecStop、ExecQuit这些参数必须根据自己安装的实际目录去填写。

[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

重加载系统服务

[root@localhost nginx-1.22.0]# systemctl daemon-reload

配置Nginx自启动

[root@localhost nginx-1.22.0]# systemctl enable nginx

9、重启测试

配置完系统服务后,就可以重启服务器了。

[root@localhost nginx-1.22.0]# reboot

重启后,再次查看Nginx的状态。

[root@localhost ~]# systemctl status nginx

image-1660206974667
如图所示,则表名Nginx自启动配置完成。

0

评论区