Centos8 nginx1.18.0编译安装

目录

1 编译安装 Nginx

.2 验证版本及编译参数

.3 启动和停止 nginx 测试访问 web 界面

 4 创建 Nginx 自启动文件

5 验证 Nginx 自启动文件


 编译器介绍

源码安装需要提前准备标准的编译器,GCC的全称是(GNU Compiler collection),其有GNU开发,并以 GPL即LGPL许可,是自由的类UNIX即苹果电脑Mac OS X操作系统的标准编译器,因为GCC原本只能处理C语 言,所以原名为GNU C语言编译器,后来得到快速发展,可以处理C++,Fortran,pascal,objectiveC,java以及Ada等其他语言,此外还需要Automake工具,以完成自动创建Makefile的工作,Nginx的一些 模块需要依赖第三方库,比如: pcre(支持rewrite),zlib(支持gzip模块)和openssl(支持ssl模 块)等。

1 编译安装 Nginx

[root@centos8 ~]# yum -y install gcc pcre-devel openssl-devel zlib-devel wget make
[root@centos8 ~]# useradd -s /sbin/nologin nginx
[root@centos8 ~]# wget http://nginx.org/download/nginx-1.18.0.tar.gz
[root@centos8 ~]# tar xf nginx-1.18.0.tar.gz 
[root@centos8 ~]# cd nginx-1.18.0
[root@centos8 nginx-1.18.0]#./configure --prefix=/apps/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module
[root@centos8 nginx-1.18.0]# make -j 4 && make install
[root@centos8 nginx-1.18.0]# ln -s /apps/nginx/sbin/nginx /usr/sbin/
[root@centos8 nginx-1.18.0]# nginx -v
nginx version: nginx/1.18.0
#修改权限
[root@centos8 nginx-1.18.0]# chown -R nginx.nginx /apps/nginx/
#生成目录
[root@centos8 nginx-1.18.0]# ll /apps/nginx/
total 0
drwxr-xr-x 2 root root 333 Sep 22 12:49 conf
drwxr-xr-x 2 root root  40 Sep 22 12:49 html
drwxr-xr-x 2 root root   6 Sep 22 12:49 logs
drwxr-xr-x 2 root root  19 Sep 22 12:49 sbin

conf:保存nginx所有的配置文件,其中nginx.conf是nginx服务器的最核心最主要的配置文件,其他 的.conf则是用来配置nginx相关的功能的,例如fastcgi功能使用的是fastcgi.conf和 fastcgi_params两个文件,配置文件一般都有个样板配置文件,是文件名.default结尾,使用的使用将其 复制为并将default去掉即可。

html目录中保存了nginx服务器的web文件,但是可以更改为其他目录保存web文件,另外还有一个50x的web 文件是默认的错误页面提示页面。

logs:用来保存nginx服务器的访问日志错误日志等日志,logs目录可以放在其他路径,比 如/var/logs/nginx里面。

sbin:保存nginx二进制启动脚本,可以接受不同的参数以实现不同的功能。

.2 验证版本及编译参数

[root@centos8 nginx-1.18.0]#ls /apps/nginx/sbin/
nginx
[root@centos8 nginx-1.18.0]#ln -s /apps/nginx/sbin/nginx /usr/sbin/
#查看版本
[root@centos8 ~]#nginx -v
nginx version: nginx/1.18.0
#查看编译参数
[root@centos8 ~]#nginx -V
nginx version: nginx/1.18.0
built by gcc 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC) 
built with OpenSSL 1.1.1c FIPS  28 May 2019
TLS SNI support enabled
configure arguments: --prefix=/apps/nginx --user=nginx --group=nginx --withhttp_ssl_module --with-http_v2_module --with-http_realip_module --withhttp_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module

.3 启动和停止 nginx 测试访问 web 界面

[root@centos8 nginx-1.18.0]# nginx
[root@centos7 ~]# curl -I 10.0.0.8
HTTP/1.1 200 OK
Server: nginx/1.18.0
[root@centos8 nginx-1.18.0]# ss -ntl
State    Recv-Q    Send-Q       Local Address:Port       Peer Address:Port   Process   
LISTEN   0         128                0.0.0.0:22              0.0.0.0:*                
LISTEN   0         128                0.0.0.0:80              0.0.0.0:*                
LISTEN   0         128                   [::]:22                 [::]:*
[root@centos8 nginx-1.18.0]# nginx -s stop
[root@centos8 nginx-1.18.0]# ss -ntl
State    Recv-Q    Send-Q       Local Address:Port       Peer Address:Port   Process   
LISTEN   0         128                0.0.0.0:22              0.0.0.0:*                
LISTEN   0         128                   [::]:22                 [::]:*   

Centos8 nginx1.18.0编译安装_第1张图片

 4 创建 Nginx 自启动文件

#复制同一版本的nginx的yum安装生成的service文件
[root@centos8 nginx-1.18.0]# vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/apps/nginx/run/nginx.pid
ExecStart=/apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
#修改nginx配置文件中的pid
[root@centos8 nginx-1.18.0]# vim /apps/nginx/conf/nginx.conf
pid        /apps/nginx/run/nginx.pid;
#创建目录
[root@centos8 nginx-1.18.0]# mkdir /apps/nginx/run
#修改配置文件
[root@centos8 nginx-1.18.0]# chown -R nginx.nginx /apps/nginx/run

5 验证 Nginx 自启动文件

#重新加载service文件
[root@centos8 nginx-1.18.0]# systemctl daemon-reload
[root@centos8 nginx-1.18.0]# systemctl enable --now nginx
Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
[root@centos8 nginx-1.18.0]# ss -ntl
State    Recv-Q    Send-Q       Local Address:Port       Peer Address:Port   Process   
LISTEN   0         128                0.0.0.0:22              0.0.0.0:*                
LISTEN   0         128                0.0.0.0:80              0.0.0.0:*                
LISTEN   0         128                   [::]:22                 [::]:* 

你可能感兴趣的:(linux,centos,nginx)