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

 

posted @ 2022-04-11 11:49  网无忌  阅读(72)  评论(0编辑  收藏  举报