安装Nginx
检查安装环境
需要Liunx内核2.6以上版本才支持epool才能正常使用使用Nginx
uname -a
#4.18.0-147.5.1.el8_1.x86_64 #1 SMP Wed Feb 5 02:00:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux 内核4.18.0
安装nginx 环境
Liunx内核版本达到要求后我们需要安装一些相应的环境才能运行nginx
- GCC编译器:Nginx不提供二进制可执行文件,所以使用前我们需要使用要GCC来编译C语言程序
- PCRE库:RCRE库是正则表达式的支持,在Nginx中很多地方可以使用到正则表达式
- zlib库:zlib库可以做HTTP包内容的压缩传输可以减少网络流量,可以在nginx.conf里配置gzip on开启
- OpenSSL开发库:在使用HTTPS协议的时候就需要使用到这个库
执行以下语句安装以上所有库
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre pcre-devel
nginx源码下载
nginx下载地址:https://nginx.org/en/download.html
解压压缩包
tar -zxvf nginx-1.16.1.tar.gz
简单安装
#进入nginx目录
cd nginx-1.16.1/
#使用默认配置初始化
./configure
#构建可执行文件
make && make install
执行完成后nginx会安装到我们的usr/local/nginx-xx目录中
执行nginx
#进入nginx目录
cd /usr/local/nginx
#执行nginx
./sbin/nginx
注意:nginx启动使用的是80端口如果你有其它进程在使用80端口nginx启动会报如下错误
启动后访问80端口弹出如下画面表示成功
基于参数构建
上面介绍了最简单的安装,只是提供简单功能,nginx特别之处就是模块化,我们可以指定我们需要使用什么模块去构建nginx,以下使用http_stub_status_module(检测http连接数)、with-http_ssl_module(解析https协议)、with-debug(打开debug开关),3个模块构建nginx
#进入nginx目录
cd nginx-1.16.1/
#添加指定模块初始化
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-debug
#构建可执行文件
make && make install
nginx常用命令
#默认方式启动:
./sbin/nginx
#指定配置文件启动
./sbing/nginx -c /tmp/nginx.conf
#指定nginx程序目录启动
./sbin/nginx -p /usr/local/nginx/
#强制性停止
./sbin/nginx -s stop
#等待请求处理完停止
./sbin/nginx -s quit
#检查配置文件是否有错误
./sbin/nginx -t
#热装载配置文件(nginx修改配置文件后无需重启,直接执行命令热装载配置)
./sbin/nginx -s reload
#重新打开日志文件(在生产环境中日志文件过大后备份新建后需要重新关联日志位置不然日志还是打印在久的文件中,即使你修改了名字)
./sbin/nginx -s reopen
更新模块
./configure构建,make && make install完成后我们需要更新我们的nginx
# 进入objs目录
cd /usr/local/nginx-1.16.1/objs
# 停止当前运行中的nginx
/usr/local/nginx/sbin/nginx -s stop
# 把当前目录的nginx文件夹替换到local下的nginx/sbin中的nginx文件夹
cp nginx /usr/local/nginx/sbin/
# 替换完成后进入local中的nginx
cd /usr/local/nginx
# 启动nginx
sbin/nginx