侧边栏壁纸
  • 累计撰写 6 篇文章
  • 累计创建 4 个标签
  • 累计收到 0 条评论
标签搜索

目 录CONTENT

文章目录

CentOS7 安装 Nginx 详细教程

Mycheol
2022-10-03 / 0 评论 / 0 点赞 / 292 阅读 / 898 字

安装所需依赖库

  • 编译 Nginx 需要 gcc 环境
yum install -y gcc gcc-c++
  • Nginx 第三方 gzip 模块需要 zlib 库
yum install -y zlib zlib-devel

zlib 库用于对 HTTP 包的内容做 gzip 格式的压缩,如果我们在 nginx.conf 中配置了 gzip on,并指定对于某些类型(content-type)的 HTTP 响应使用 gzip 来进行压缩以减少网络传输量,则在编译时就必须把 zlib 编译进 Nginx。zlib-devel 是二次开发所需要的库。

  • Nginx 第三方 rewrite 模块需要 pcre 库
yum install -y pcre pcre-devel

PCRE(Perl Compatible Regular Expressions)支持正则表达式。如果我们在配置文件 nginx.conf 中使用了正则表达式,那么在编译 Nginx 时就必须把 PCRE 库编译进 Nginx,因为 Nginx 的 HTTP 模块需要靠它来解析正则表达式。另外,pcre-devel 是使用 PCRE 做二次开发时所需要的开发库,包括头文件等,这也是编译 Nginx 所必须使用的。

  • Nginx 第三方 ssl 模块需要 openssl 库
yum install -y openssl openssl-devel

如果服务器不仅仅是要支持 HTTP,还需要在更安全的 SSL 协议上传输 HTTP,那么需要拥有 OpenSSL。另外,如果我们想使用 MD5、SHA1 等散列函数,那么也需要安装它。

获取安装包

Nginx 官方下载地址

download_nginx

Nginx 官网提供了三个类型的版本:
Mainline version:主线版本,目前主力在做的版本,也可以说是开发
Stable version:最新稳定版,生产环境上建议使用的版本
Legacy versions:遗留的历史版本的稳定版

如果 Linux 服务器有网络连接,可以直接使用 wget 下载

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

解压安装包

tar -zxvf nginx-1.22.0.tar.gz

进入刚刚解压好的目录

cd nginx-1.22.0

创建安装目录

mkdir -p /opt/nginx

编译并安装

指定安装路径,配置 HTTPS 模块

./configure --prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module

编译(从 Makefile 中读取指令,然后编译)

make

安装(从 Makefile 中读取指令,安装到指定的位置)

make install

编辑配置文件

cd /opt/nginx/conf
 
vim nginx.conf

编辑好之后,按 esc 退出编辑模式,然后 :wq 进行保存退出

启动与停止

cd /opt/nginx/sbin

./nginx

查看是否启动成功:ps -ef | grep nginx,有 master 和 worker 进程说明已经启动

./nginx -s stop		# 快速停止,相当于kill -9 port

./nginx -s quit		# 优雅关闭,在退出前完成已经接受的连接请求

./nginx -s reload	# 重新加载配置文件

设置系统服务

创建配置文件

vim /etc/systemd/system/nginx.service

复制粘贴以下内容:

[Unit]
Description=nginx -web server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t -c /opt/nginx/conf/nginx.conf
ExecStart=/opt/nginx/sbin/nginx -c /opt/nginx/conf/nginx.conf
ExecReload=/opt/nginx/sbin/nginx -s reload
ExecStop=/opt/nginx/sbin/nginx -s stop
ExecQuit=/opt/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

注意:ExecStart 等配置项要修改成自己安装的路径

加载配置文件

systemctl daemon-reload

服务操作命令

systemctl start nginx.service		# 启动服务

systemctl stop nginx.service		# 停止服务

systemctl restart nginx.service		# 重启服务

systemctl reload nginx.service		# 重新加载配置文件

systemctl status nginx.service		# 查看服务当前状态

systemctl enable nginx.service		# 设置开机自启

systemctl disable nginx.service		# 停止开机自启
0

评论区