1 介绍
Nginx 是一个高性能的 Http 的反向代理 web 服务器,本文主要描述如何在 Ubuntu 上安装 Nginx 和安全证书,从而搭建自己的静态网站,并通过 https 访问。
2 安装 Nginx
2.1 下载
官网(下载linux版本的)
2.2 安装
tar -zxvf nginx-1.19.2.tar.gz
cd nginx-1.19.2
./configure --with-http_ssl_module # 因为后面要添加安全证书,所以要加这个参数
# ./configure --prefix=/home/tamray/www/nginx # 自定义安装目录
make
make install
默认的安装路径:/usr/local/nginx/
,在该路径下,./html
文件夹是要存放静态网站的地方,./sbin/nginx
是可执行应用程序,终端运行它可以启动 nginx:
./nginx
./nginx -s start
./nginx -s stop
./nginx -s reload
ps -ef|grep nginx # 查看nginx进程
3 添加安全证书
3.1 获取 SSL 证书
本实验中的服务器是阿里云ECS,阿里云中可以申请免费的 SSL 证书(在云盾控制台中去查找,但是比较隐蔽),申请流程会有明确的引导。
3.2 部署
-
解压刚刚下载的证书,会得到两个文件:
4396191_www.tamray.cn.pem 4396191_www.tamray.cn.key
-
把这两个文件上传到服务器,推荐存放目录
/etc/ssl/
。 -
修改 nginx 的配置:
配置文件/usr/local/nginx/conf
,我们使用的是http协议进行访问,默认打开的端口是80端口,所以我们需要做一个重定向,我们在这个代码块的基础上增加一个server节点提供重定向服务:# ... server{ listen 443; # 新增 443 端口 server_name www.tamray.cn; # 服务器域名 ssl on; ssl_certificate /etc/ssl/4396191_www.tamray.cn.pem; # 证书 ssl_certificate_key /etc/ssl/4396191_www.tamray.cn.key; # 证书 ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { root html; # nginx安装目录下的html,也可以填绝对路径 index index.html index.htm; # 该目录下的引导页 } } server { listen 80; #server_name localhost; server_name www.tamray.cn; # 服务区域名 rewrite ^/(.*)$ https://www.tamray.cn:443/$1 permanent; # 遇到 http 自动转换成 https #...下文保持不变 }
-
重启 nginx 即可用浏览器访问;