杨斌
发布于 2026-04-23 / 4 阅读
0
0

Linux上安装Nginx并配置开机自启动

前言

Nginx 是一个高性能的 HTTP 和反向代理服务器,广泛用于负载均衡、静态内容服务和反向代理。以下是 Nginx 的安装和部署步骤。

一、下载nginx

官方网址:http://nginx.org/en/download.html

1459957-20250812101841005-818308387.png

二、安装

1. 安装依赖项

在开始安装Nginx之前,首先需要安装一些依赖项,以确保Nginx编译和运行正常。

yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

其中:
(1) pcre 是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
(2) zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
(3) openssl是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

2. Nginx安装

1. 上传下载好的nginx安装包到指定目录,并解压

1459957-20250812103651725-43800749.png

2.进入已解压好的文件目录,配置nginx安装路径,输入命令:./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx;其实如果是放在默认安装路径/usr/local/nginx下的话,直接执行./configure即可。

1459957-20250812103824886-1528659046.png

 如下显示表示成功:

1459957-20250812104211979-1085215358.png

 3.编译Nginx

make&&make install

如下显示表示成功:

1459957-20250812104353882-217449706.png

 

 4.启动Nginx,进入到默认安装目录:/usr/local/nginx/sbin

./nginx

 启动报错:nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)

1459957-20250812105703399-692829560.png

Nginx默认端口号:80,Linux的1024以下端口是只有root用户才有权限占用,于是我们的tomcat,apache,nginx等等程序如果想要用普通用户来占用80端口的话就会抛出permission denied的异常。

这里修改更改 Nginx 配置以使用非特权端口:8088

vim nginx.conf

进入/usr/local/nginx/conf/

1459957-20250812110342523-474505158.png

 保存后再启动Nginx,并查看进程是否存在:

ps -ef | grep nginx

1459957-20250812110651046-1580775615.png

 5.查看结果,命令方式查看

curl -i http://localhost:8088

1459957-20250812160125671-461545114.png

 浏览器访问:

1459957-20250812110925025-1369644255.png

 其他常用命令:

1.关闭nginx

./nginx -s stop

2.重启nginx

先关闭再./nginx 重启

3.刷新配置文件

./nginx -s reload

三、配置开机自启动

3.1 配置 Nginx 为系统服务

在 /etc/systemd/system/ 目录下创建一个新的服务文件,例如 nginx.service:

vi /etc/systemd/system/nginx.service

在打开的文件中,添加以下内容:

[Unit]

Description=Nginx HTTP Server

After=network.target

 

[Service]

Type=forking

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/usr/local/nginx/sbin/nginx -s stop

PrivateTmp=true

 

[Install]

WantedBy=multi-user.target

依次执行以下命令:

systemctl daemon-reload  #重新加载服务配置

systemctl enable nginx  #设置为开机自启动

systemctl start nginx  #启动nginx服务

systemctl status nginx  #查看nginx服务状态

1459957-20250812160125671-461545114.png


评论