1.本步骤只实用于centos8 首先查看本人的版本: 对号入座

cat /etc/redhat-release

2.装置编译工具及库文件

  • make gcc-c++ 编译应用
  • zlib zlib-devel nginx中gzip应用
  • openssl openssl-devel nginx反对 https应用(即在ssl协定上传输http)

执行命令:

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

3.装置PCRE(作用:让 Nginx 反对 Rewrite 性能)

yum install -y pcre pcre-devel


4.下载nginx

稳定版下载地址:http://nginx.org/download/nginx-1.18.0.tar.gz

[root@localhost ~]# mkdir /home/work/nginx[root@localhost ~]# cd /home/work/nginx/[root@localhost nginx]# wget http://nginx.org/download/nginx-1.18.0.tar.gz--2020-05-26 23:42:49--  http://nginx.org/download/nginx-1.18.0.tar.gzResolving nginx.org (nginx.org)... 62.210.92.35, 95.211.80.227, 2001:1af8:4060:a004:21::e3Connecting to nginx.org (nginx.org)|62.210.92.35|:80... connected.HTTP request sent, awaiting response... 200 OKLength: 1039530 (1015K) [application/octet-stream]Saving to: ‘nginx-1.18.0.tar.gz’nginx-1.18.0.tar.gz        100%[=======================================>]   1015K  8.40KB/s    in 2m 3s   2020-05-26 23:44:53 (8.27 KB/s) - ‘nginx-1.18.0.tar.gz’ saved [1039530/1039530]

5.解压

[root@localhost nginx]# tar zxf nginx-1.18.0.tar.gz [root@localhost nginx]# lltotal 1016drwxr-xr-x 8 1001 1001     158 Apr 21 22:09 nginx-1.18.0-rw-r--r-- 1 root root 1039530 Apr 21 22:33 nginx-1.18.0.tar.gz[root@localhost nginx]# 

6.编译装置

  • 指定编译装置目录 --prefix=/home/work/nginx
  • 监控模块 --with-http_stub_status_module
  • SSL模块 --with-http_ssl_module模块

    [root@localhost nginx]# cd nginx-1.18.0[root@localhost nginx-1.18.0]# ./configure --prefix=/home/work/nginx --with-http_stub_status_module --with-http_ssl_module Configuration summary+ using system PCRE library+ using system OpenSSL library+ using system zlib librarynginx path prefix: "/home/work/nginx"nginx binary file: "/home/work/nginx/sbin/nginx"nginx modules path: "/home/work/nginx/modules"nginx configuration prefix: "/home/work/nginx/conf"nginx configuration file: "/home/work/nginx/conf/nginx.conf"nginx pid file: "/home/work/nginx/logs/nginx.pid"nginx error log file: "/home/work/nginx/logs/error.log"nginx http access log file: "/home/work/nginx/logs/access.log"nginx http client request body temporary files: "client_body_temp"nginx http proxy temporary files: "proxy_temp"nginx http fastcgi temporary files: "fastcgi_temp"nginx http uwsgi temporary files: "uwsgi_temp"nginx http scgi temporary files: "scgi_temp"[root@localhost nginx-1.18.0]# make[root@localhost nginx-1.18.0]# make install

实现后查看 nginx版本

/home/work/nginx/sbin/nginx -v

7.配置systemctl 治理

[root@localhost ~]# vi /etc/systemd/system/nginx.service[root@localhost ~]# [root@localhost ~]# cat /etc/systemd/system/nginx.service[Unit]Description=nginxAfter=syslog.target network.target remote-fs.target nss-lookup.target[Service]Type=oneshotExecStart=/home/work/nginx/sbin/nginxExecStop=/home/work/nginx/sbin/nginx -s stop ExecReload=/bin/kill -s HUP $MAINPIDRemainAfterExit=yes[Install]WantedBy=multi-user.target[root@localhost ~]# 

最初其余相干命令:

启动 systemctl start nginx
进行 systemctl stop nginx
状态 systemctl status nginx
关上开机自启 systemctl enable nginx
敞开开机自启 systemctl disable nginx

启动 /home/work/nginx/sbin/nginx
重载配置文件 /home/work/nginx/sbin/nginx -s reload
重启 /home/work/nginx/sbin/nginx -s reopen
进行 /home/work/nginx/sbin/nginx -s stop

遇到的问题

make install可能报错 是因为 装置的门路不是一个空的文件夹

这个时候须要把编译的门路设置为一个空的文件夹

./configure --prefix="空的文件夹门路" --with-http_stub_status_module --with-http_ssl_module

再从新执行以上流程即可.

最初看一下成果:

systemctl status nginx.service

curl 127.0.0.1