Nginx的安装
1)Nginx版本
1.Nginx官网:http://nginx.org
2.官网Nginx的安装版本
- Mainline version(主要开发版本,其实就是还处于开发版)
- Stable version(当前最新稳定版)
- Legacy versions(旧的稳定版)
- 注:当然生产环境可能是以前老旧的Nginx版本。
2)yum安装
1.目前使用主机:centos7.6
[root@nginx ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
2.yum安装
[root@nginx ~]# yum install -y nginx
3.yum安装的主要问题:
- Nginx版本不可控(生产环境一般是编译安装)
- Nginx的功能不一定满足生产需求
- Nginx安装生成的文件路径被定义
4.Nginx的安装包分析
/etc/nginx/nginx.conf 配置文件
/usr/lib/systemd/system/nginx.service service文件
/usr/sbin/nginx 二进制工具(可管理Nginx)
/usr/share/nginx/html/index.html 默认的页面(此默认页面是/usr/share/doc/HTML/index.html)软链接
5.Nginx命令 ※※※※※
- Nginx的管理工具(service文件也是调用的Nginx)
- 常用选项:
-?,-h 获取命令帮助
-v 查看Nginx的版本
-V 查看Nginx的编译选项
-t 检查Nginx的配置文件
-s signal 发送信号给Nginx的master 进程(stop, quit, reopen, reload)
注:
[root@nginx ~]# nginx 直接使用Nginx表示启动Nginx服务
- 注:生成环境中修改完Nginx的配置文件,记得先检查Nginx的配置文件(~]# nginx -t),然后再重启,否则导致Nginx启动失败,将影响业务。
3)Nginx的编译安装
1.编译安装步骤:
- ①获取源码、解压缩、查编译的配置选项帮助
[root@nginx ~]# cd /usr/local/src/ 源码放置路径
[root@nginx src]# wget http://nginx.org/download/nginx-1.16.1.tar.gz
[root@nginx src]# tar xf nginx-1.16.1.tar.gz
[root@nginx src]# cd nginx-1.16.1/
[root@nginx nginx-1.16.1]# ./configure --help
- ②configure
==>检查编译环境
==>生成Makefile文件
由于我的centos7.6安装的是最小系统:
编译前需要准备编译环境
[root@nginx nginx-1.16.1]# yum install gcc openssl-devel pcre-devel
[root@nginx nginx-1.16.1]#./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
-
③make
==>根据Makefile生成指定模块 -
④make install
==>copy 模块到指定目录 -
⑤创建Nginx用户
==>上面编译时指定了Nginx用户,但是并不会自动创建
[root@nginx nginx-1.16.1]# useradd nginx -s /sbin/nologin -u 2000
[root@nginx nginx-1.16.1]# id nginx
uid=2000(nginx) gid=2000(nginx) groups=2000(nginx)
- ⑥修改配置文件
[root@nginx ~]# vim /apps/nginx/conf/nginx.conf
user nginx;将启动账户改为nginx
- ⑦启动
[root@nginx ~]# /apps/nginx/sbin/nginx
注:为方便后续,将/apps/nginx/sbin/(nginx编译安装的二进制程序路径)加入PATH环境中
[root@nginx ~]# cp /apps/nginx/sbin/nginx /usr/local/bin/
[root@nginx ~]# echo 'PATH=/apps/nginx/sbin/:$PATH' > /etc/profile.d/nginx.sh
-
⑧浏览测试:
注:/apps/nginx/html/index.html
-
⑨配置service文件
==>yum安装生产的service文件修改。
2.再次的编译安装(可能对nginx支持模块编译时添加少了或者nginx版本升级)
- 此时一般会结合此前的编译的选项:nginx -V
[root@nginx html]# nginx -V