vlambda博客
学习文章列表

Linux环境Nginx安装与配置

1.Nginx下载

cd /usr/local/src/ 
mkdir nginx && cd nginx
wget -c https://nginx.org/download/nginx-1.18.0.tar.gz

2.Nginx依赖环境安装

// 编译依赖 gcc 环境
yum install gcc-c++

// pcre 和 pcre-devel 安装,Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法
yum install -y pcre pcre-devel

// zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩
yum install -y zlib zlib-devel

// zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩
yum install -y openssl openssl-devel

3.Nginx编译安装 (ssl模块单独添加请看第四节)

// 解压安装包
tar -zxvf nginx-1.18.0.tar.gz

// 切换目录
cd nginx-1.18.0

// 默认配置直接执行,如需支持https,执行 ./configure --with-http_ssl_module
./configure

// 编译nginx
make

// 安装nginx
make install

安装成功后,进入 /usr/local/ 目录可以看到多一个nginx目录,这便是安装目录。接下来,启动nginx。

4.Nginx安装SSL扩展模块支持Https,以及证书配置

  • 若已经安装了nginx,没有配置ssl模块支持https,请按以下步骤来。

4.1 SSL扩展模块

4.1.1. 切换到源码包

./configure --with-http_ssl_module

注意:执行以上一条命令出现这个错误(./configure:错误:SSL模块需要OpenSSL库。),原因是因为缺少了OpenSSL,那我们再来安装一个即可执行:yum -y install openssl openssl-devel

// 编译nginx
make

执行完做命令后,我们可以查看到在nginx解压目录下,objs文件夹中多了一个nginx的文件,这个就是新版本的程序了

4.1.2. 执行备份文件

  • 备份原来的nginx文件

cp  /usr/local/nginx/sbin/nginx   /usr/local/nginx/sbin/nginx.bak
  • 将刚刚编译好的nginx覆盖掉原有的nginx

cp  objs/nginx  /usr/local/nginx/sbin/nginx

4.1.2. 测试ssl模块和nginx是否正常添加和启动

  • 启动

nginx
  • 查看ssl是否添加成功

nginx -V
  • 如果出现错误:

-bash: /usr/local/nginx/sbin/nginx: Permission denied
  • 解决上面报错:

chmod +x nginx

Linux环境Nginx安装与配置

  • 重新启动 nginx
    Linux环境Nginx安装与配置

  • 错误1:
    修改nginx.conf文件,去掉ssl on那一行,修改 listen 443 ssl;

  • 错误2:
    证书路径错误,修改nginx.conf文件的https的证书路径。

4.2 https配置

4.2.1. ssl证书下载

可以在云服务器提供商免费下载

4.2.2. 在安装目录新建cert 目录

Linux环境Nginx安装与配置

4.2.3. 将ssl证书拷贝到此目录(后缀是key和pem的证书文件)

4.2.4. 更改nginx/conf目录的配置文件nginx.conf。修改配置如下:证书路径要配置正确

5.Nginx相关命令

cd /usr/local/nginx/sbin

// 启动
./nginx

// 关闭和停止
./nginx -s quit 或者 ./nginx -s stop

// 重启nginx
./nginx -s reload

//查看nginx的进程
ps aux|grep nginx

// 杀死进程
kill -9 'pid'