【nginx】linux(centos&ubuntu)安装nginx

下载

官网:https://nginx.org/en/download.html

1
wget https://nginx.org/download/nginx-1.22.1.tar.gz

解压

1
tar zxvf nginx-1.22.1.tar.gz

安装

依赖准备

安装前需要安装nginx编译的依赖环境,依赖的名称在centos与ubuntu下,会有所不同,以下两种发行版都有。
整合全部依赖安装命令(执行后可直接跳至“编译安装”的步骤)

1
2
3
4
# centos
yum -y install make gcc gcc-c++ zlib zlib-devel pcre pcre-devel openssl openssl-devel libffi-devel libtool
# ubuntu
apt-get install make g++ zlib1g zlib1g.dev libpcre3 libpcre3-dev openssl libssl-dev libffi-dev libtool

make

编译安装必须需要make。make在centos与ubuntu下名称一样。

gcc-c++

GCC用来对nginx源码进行编译。

1
2
3
4
# centos
yum install gcc-c++
# ubuntu
apt-get install g++

zlib zlib-devel

zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩。

1
2
3
4
# centos
yum -y install zlib zlib-devel
# ubuntu
apt-get install zlib1g zlib1g.dev

pcre pcre-devel

Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里需要安装两个安装包pcre和pcre-devel。第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码。

1
2
3
4
# centos
yum -y install pcre pcre-devel
# ubuntu
apt-get install libpcre3 libpcre3-dev

openssl openssl-devel

nginx不仅支持 http协议,还支持 https(即在 ssl 协议上传输 http)。如果使用了 https,需要安装 OpenSSL 库。

1
2
3
4
# centos
yum -y install openssl openssl-devel
# ubuntu
apt-get install openssl libssl-dev

编译安装

编译安装任何软件基本一致,编译安装所依赖的工具库需准备全!

进入解压后的目录执行./configure,之后会生成Makefile文件
默认会安装在 /usr/local/nginx 可指定位置 ./configure --prefix=/home/rocyuan/software/nginx

然后执行make && make install会进行编译安装。

安装完成

安装完成后进入/usr/local/nginx/sbin下会有nginx可执行文件

然后访问localhost或者本机ip,会显示nginx的欢迎页

systemctl管理

创建 nginx.service 文件

1
vim /usr/lib/systemd/system/nginx.service
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[Unit]
# 描述服务
Description=nginx - high performance web server
Documentation=https://nginx.org
After=network.target remote-fs.target nss-lookup.target

# 服务的一些具体运行参数的设置
[Service]
# 后台运行的形式
Type=forking
# 启动命令
ExecStart=/usr/local/nginx-1.24.0/sbin/nginx
# 重启命令
ExecReload=/usr/local/nginx-1.24.0/sbin/nginx -s reload
# 停止命令
ExecStop=/usr/local/nginx-1.24.0/sbin/nginx -s stop
# 快速停止
ExecQuit=/usr/local/nginx-1.24.0/sbin/nginx -s quit
# 给服务分配临时空间
PrivateTmp=true
# 发生异常,5s后重启
RestartSec=5s

[Install]
# 服务用户的模式
WantedBy=multi-user.target

完成后重新加载 systemd 守护进程配置文件

1
systemctl daemon-reload
1
2
3
4
5
6
7
8
9
10
11
12
# 启动
systemctl start nginx
# 停止
systemctl stop nginx
# 重启
systemctl restart nginx
# 查看状态
systemctl status nginx
# 设置开机启动
systemctl enable nginx
# 设置开机不启动
systemctl disable nginx