Nginx中文文档: https://www.nginx.cn/doc/index.html
环境搭建
1、安装gcc
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
yum install gcc-c++
2、PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
yum install -y pcre pcre-devel
3、zlib 安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
yum install -y zlib zlib-devel
4、OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
yum install -y openssl openssl-devel
Nginx安装
1、下载安装包
手动下载.tar.gz安装包,地址:https://nginx.org/en/download.html
下载完毕上传到服务器上
2、解压
tar -zxvf nginx-1.18.0.tar.gz
3、配置
进入到nginx目录下
cd nginx-1.18.0
使用默认配置,在nginx根目录下执行
1、./configure # 默认配置,如需SSL等配置参考下面配置
2、make
3、make install
其他配置在默认配置后追加,多个配置中间用空格分隔,列举部分常用配置,其他配置参阅顶部中文手册
--prefix=/usr/local/nginx #nginx安装路径
--with-http_stub_status_module #这个模块能够获取Nginx自上次启动以来的工作状态
--with-http_ssl_module #此模块启用支持HTTPS
--with-stream #启用stream模块,这个模块提供一个简单方法来实现在轮询和客户端IP之间的后端服务器负荷平衡。
--with-stream_ssl_module #stream模块支持HTTPS
4、配置文件修改
安装目录下conf文件夹下
1、cd /usr/local/nginx/conf/
2、vi nginx.conf
启动Nginx
查找nginx安装目录
whereis nginx
进入nginx安装目录
1、cd /usr/local/nginx/sbin/ #进入安装目录下sbin目录
2、./nginx -t #测试配置文件
3、./nginx -s reload #重新加载配置文件
如果报:nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)
因为/usr/local/nginx/logs/nginx.pid这个文件不存在
解决:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf,使用nginx -c的参数指定nginx.conf文件的位置,然后进入log目录,发现有了nginx.pid文件,再执行./nginx -s reload
nginx常用命令
./nginx #启动
./nginx -t #测试配置文件
./nginx -s stop #停止
./nginx -s quit #安全退出
./nginx -s reload #重新加载配置文件
查看nginx端口,以下任一命令都可以
ps -ef | grep nginx #查看nginx进程
ps aux|grep nginx #查看nginx进程
lsof -i:80 #查看80端口号进程 80是nginx默认端口,根据配置修改
netstat -tunplp | grep 80
启动成功访问 服务器ip:80
注意:如何连接不上,检查阿里云安全组是否开放端口,或者服务器防火墙是否开放端口!
详细错误查看日志,日志位置默认在安装目录下logs文件夹下
1、cd /user/local/nginx/logs/
2、tail -f error.log
已安装nginx添加模块
查看已安装模块
/usr/local/nginx/sbin/nginx -V
重新配置nginx,例如安装时只添加stream模块,未添加stream-ssl模块
./configure --prefix=/usr/local/nginx --with-stream --with-stream_ssl_module #在原来配置上加上--with-stream_ssl_module
重新编译,进入到nginx根目录
1、cd usr/local/nginx-1.18.0/
2、make
此处一定要切记:不要使用make install,否则会覆盖掉你现在正在使用的nginx,建议先备份conf文件夹下的配置文件
重新替换执行文件
1、cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx-bak #备份
2、cp /usr/local/nginx-1.18.0/objs/nginx /usr/local/nginx/sbin/nginx
重启nginx
1、cd /usr/local/nginx/sbin/
2、./nginx -s reload
参考文章:https://www.cnblogs.com/A-Nan-q/p/15041065.html#:~:text=linux%E4%B8%8B%E5%AE%89%E8%A3%85Nginx%20%28nginx%E5%85%B3%E9%94%AE%E5%AD%97%EF%BC%9A%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%EF%BC%8C%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%29%201%E3%80%81%E5%AE%89%E8%A3%85gcc%20%E5%AE%89%E8%A3%85%20nginx%20%E9%9C%80%E8%A6%81%E5%85%88%E5%B0%86%E5%AE%98%E7%BD%91%E4%B8%8B%E8%BD%BD%E7%9A%84%E6%BA%90%E7%A0%81%E8%BF%9B%E8%A1%8C%E7%BC%96%E8%AF%91%EF%BC%8C%E7%BC%96%E8%AF%91%E4%BE%9D%E8%B5%96%20gcc%20%E7%8E%AF%E5%A2%83%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%B2%A1%E6%9C%89,gcc%20%E7%8E%AF%E5%A2%83%EF%BC%8C%E5%88%99%E9%9C%80%E8%A6%81%E5%AE%89%E8%A3%85%EF%BC%9A%20yum%20install%20gcc-c%2B%2B%202%E3%80%81PCRE%20pcre-devel%20%E5%AE%89%E8%A3%85