Linux环境安装Nginx笔记
1、安装Nginx相关依赖
CentOS 环境:
yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
Ubuntu 环境:
apt install gcc
apt install libpcre3 libpcre3-dev
apt install zlib1g zlib1g-dev
#Ubuntu14.04的仓库中没有发现openssl-dev,由下面openssl和libssl-dev替代
#apt install openssl openssl-dev
apt install openssl libssl-dev
2、获取Nginx压缩文件
访问:Nginx开源社区 获得对应版本的下载链接
一般都是使用 Stable version (稳定版本)
比如:http://nginx.org/download/nginx-1.20.2.tar.gz
下载并解压缩源文件:
#切换到源代码目录
cd /usr/local/src
#获取源代码压缩包
wget http://nginx.org/download/nginx-1.20.2.tar.gz
#解压缩
tar zxvf nginx-1.20.2.tar.gz
#切换到nginx源代码目录
cd nginx-1.20.2
3、添加用户及分组
#添加分组
groupadd nginx
#添加用户
useradd nginx
4、配置、编译、安装
安装:
./configure \
--user=nginx \
--group=nginx \
--prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-http_realip_module \
--with-http_sub_module \
--with-http_ssl_module
编译:
make && make install
5、运行Nginx
#切换到nginx执行目录
cd /usr/local/nginx
#启动nginx
./nginx
#重新加载配置文件
#./nginx -s reload
#停止nginx
#./nginx -s quit
打开浏览器,使用默认的80端口访问:localhost
6、添加模块
查看现有模块:
#切换到nginx执行目录
cd /usr/local/nginx
#打印nginx安装配置信息
./nginx -V
打印信息:
nginx version: nginx/1.20.2
built by gcc 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)
built with OpenSSL 1.1.1f 31 Mar 2020
TLS SNI support enabled
configure arguments: --user=nobody --group=nobody --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module
注意其中的配置参数:
--user=nobody --group=nobody --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module
添加内置模块:
--with-<模块名称>_module
添加第三方模块:
首先获取第三方模块,以 lua-nginx-module 为例:
# 进入目录
cd /user/local/src/
# 下载v0.10.9rc7.tar.gz
wget https://github.com/openresty/lua-nginx-module/archive/v0.10.9rc7.tar.gz
# 解压
tar -xzvf v0.10.9rc7.tar.gz
重新配置Nginx,在原来的配置参数中增加新模块:
#备份现有nginx可执行文件
cp /usr/local/nginx-1.20.2/sbin/nginx /usr/local/nginx-1.20.2/sbin/nginx.bak
#切换到源代码目录
cd /usr/local/src/nginx-1.20.2
#重新配置nginx
./configure --user=nobody --group=nobody --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module --add-module=/usr/local/src/lua-nginx-module-0.10.9rc7
后面的 --add-module=/usr/local/src/lua-nginx-module-0.10.9rc7 就是新增加的模块参数
重新编译即可,无需重新安装,否则会覆盖原有模块:
make
7、其他常用命令
1)查看nginx当前使用的配置文件路径并进行语法校验:
./nginx -t
2)指定配置文件:
./nginx -c /usr/local/nginx/conf/nginx.conf
3)查看nginx版本信息:
./nginx -V
4)查看nginx的进程信息:
# 方法一:System V风格
ps -ef | grep nginx
# 方法二:BSD风格
ps aux | grep nginx
5)关闭nginx主进程:
# 从容、平滑关闭
kill -QUIT pid
# 快速、立刻关闭
kill -TERM pid
# 强制关闭
kill -9 pid
版权声明: 本文为博主 网无忌 原创文章,欢迎转载,但请务必标注原文链接。