操作环境

  • 硬件:华为云服务器
  • 操作系统:Rocky Linux 9.0 64bit
  • 客户端软件:MobaXterm_Personal_23.1

准备工作

  • 购买云服务器,并完成初始设置(操作系统选择、密码设置、安全组设置等)
  • 已申请域名,并配置好域名解析指向云服务器
  • 已申请域名对应的SSL证书
  • 已准备SSH客户端软件,并且已连接云服务器

操作步骤

1. 相关依赖库和工具安装和更新

1.1 yum更新

1.2 gcc等安装

yum -y install gcc gcc-c++ autoconf automake make


1.3 pcre安装

yum -y install pcre pcre-devel

1.4 zlib等安装

yum -y install zlib zlib-devel libtool

1.5 openssl安装

yum -y install openssl openssl-devel

1.6 检查wget并安装

如果没有安装,则安装它:

2.创建nginx用户和组

3.下载nginx最新版安装包

访问nginx官方网站下载页面nginx: download查看最新版本,目前最新的稳定版本为1.24.0,并复制下载链接: nginx-1.24.0.tar.gz

进入源代码目录: cd /usr/local/src
下载安装包: wget https://nginx.org/download/nginx-1.24.0.tar.gz

4.解压缩安装包

解压完成后,当前目录下会增加一个目录 nginx-1.24.0

5.配置编译参数

进入源代码目录: cd nginx-1.124.0
配置编译参数: ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --user=nginx --group=nginx

6. 编译安装

7.修改nginx文件夹归属

8.启动nginx

9.检查测试

查看版本和编译参数: ./nginx -V

查看进程: ps -ef | grep nginx

用浏览器访问 wslibai.com应该可以看到nginx的启动页面,即表示安装成功。

10.停止nginx

11.配置开机启动

11.1 新建服务文件nginx.service

用MobaXterm_Personal软件,在SSH browser(SFTP)窗口进入云服务器的/lib/systemd/system目录,新建文件并命名为 nginx.service

11.2 修改文件为如下内容,并保存

打开刚才新建的文件,输入如下内容,并保存。

11.3 创建服务

11.4 重启nginx服务

11.5 查看nginx服务状态

12.配置SSL

12.1 上传证书文件到云服务器

(1) 进入nginx安装目录

cd /usr/local/nginx

(2) 新建cert子目录

mkdir cert

(3)上传证书文件到新建的cert目录
用MobaXterm_Personal软件,在SSH browser(SFTP)窗口将之前申请的证书文件 scs1677671813589_www.wslibai.com_Nginx 目录下的两个文件上传到新建的cert目录。

  • scs1677671813589_www.wslibai.com_server.crt
  • scs1677671813589_www.wslibai.com_server.key

12.2 修改nginx.conf配置文件

(1)修改工作进程数worker_processes
worker_processes 1; 修改为 worker_processes 2;,注意此处的数字应等于你的云服务器的CPU内核数量。


(2)开启错误日志记录
#error_log logs/error.log;语句前面的 #去掉。


(3)开启进程ID日志记录
#pid logs/nginx.pid;语句前面的 #去掉。


(4)开启SSL功能
将https的server块前面的注释符号 #去掉

注意: # HTTPS server这一行前面的注释符号 #不能去掉

并将其中的这两行:

ssl_certificate cert.pem;
ssl_certificate_key cert.key;

修改为:

ssl_certificate /usr/local/nginx/cert/scs1677671813589_www.wslibai.com_server.crt;
ssl_certificate_key /usr/local/nginx/cert/scs1677671813589_www.wslibai.com_server.key;

请注意上面这两个参数值的路径和文件名要与12.1步上传的一致。

(5)开启http转发https功能
将http的server块修改为如下内容:

13.重启nginx服务

用命令 systemctl restart nginx重启nginx服务,再使用命令 systemctl status nginx查看nginx服务状态。

14.访问网站测试验证

14.1 https访问测试

在浏览器输入网址 https://wslibai.com,访问正常。因当时未截屏保存,并且我的网站目前已经开始运营,故此处截图上加了 /index3.html,未采用默认文件名。

14.2 http访问测试

在浏览器输入网址 http://wslibai.com或者直接输入 wslibai.com,发现访问已经自动重定向至https了。
至此,大功告成。

14.3 问题排除

如出现无法访问网站的问题,一般是云服务器安全组设置问题,或者云服务器自身防火墙的设置问题,请检查80端口和443端口是否开放,详细操作请自行百度。