主要记录armv7l平台安装Nginx过程

安装编译环境

1
$ yum install -y gcc-c++ pcre pcre-devel zliv zliv-devel zliv zliv-devel openssl openssl-devel wget

安装

1
2
3
4
5
6
7
8
9
10
11
12
13
$ wget https://nginx.org/download/nginx-1.12.2.tar.gz # 下载安装包
$ tar -zxvf nginx-1.12.2.tar.gz # 解压
$ cd nginx-1.12.2.tar.gz # 进入文件夹
# 编译前准备工作
$ mkdir -p /usr/local/nginx # 创建文件夹
$ ./configure --prefix=/usr/local/ --with-http_ssl_module \
--with-http_v2_module \
--with-http_stub_status_module
# --prefix=/usr/local/ > 指定路径
# --with-http_ssl_module > 启用SSL
# --with-http_v2_module > 启用httpv2
# 编译并安装
$ make && make install

配置防火墙

1
2
3
4
5
6
7
8
9
$ firewall-cmd --permanent --zone=public --add-service=http  #启用http
$ firewall-cmd --permanent --zone=pbblic --add-service=https #启用https
# 上下两种方法选其一
$ firewall-cmd --permanent --zone=public --add-port=80/tcp # 启用80端口 TCP
$ firewall-cmd --permanent --zone=public --add-port=443/tcp # 启用443端口
# 重新载入配置
$ firewall-cmd --reload
# 查看已经开放的端口或者服务
$ firewall-cmd --list-all

尝试启动Nginx

1
2
3
4
5
# pwd > /usr/local/nginx 当前路径
$ ./nginx # 可以尝试访问树莓派IP
$ ./nginx -s stop #强制关闭Nginx 包括正在处理的请求
$ ./nginx -s quit #退出前完成已经接受的请求
$ ./nginx -s reload #平滑过渡 载入配置,使连接不中断

配置Nginx.service

1
2
$ vim /usr/lib/systemd/system/nginx.service
# 如何使用vim 请百度或者Google

写入以下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
[Unit]
Description=nginx
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 quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

使用systemctl

1
2
3
4
5
$ systemctl start nginx # 启动Nginx
$ systemctl reload nginx # 重新载入配置文件
$ systemctl status nginx # 查看当前运行状态
$ systemctl enable nginx # 设置开机启动
$ systemctl disable nginx # 设置开机不启动