一、Nginx安装与配置
可以参考教程:https://www.yangtao.site/2021/03/21/ubuntu-nginx-config/
1.1 Nginx安装
#更新ubuntu的软件源
sudo apt update
#安装Nginx
sudo apt install nginx
1.2 防火墙端口配置
#打开防火墙
sudo ufw enable
#关闭防火墙
sudo ufw disable
#重启防火墙
sudo ufw reload
#检查ufw状态
sudo ufw status
#开放端口,如开放端口9000
sudo ufw allow 9000
#关闭端口,如关闭端口9000
sudo ufw delete allow 9000
或者 sudo ufw deny 9000
开放多个端口,如开放9000-9099
sudo ufw allow 9000:9099/tcp
nginx默认需要打开80端口和443端口
1.3 Web服务器检查
Nginx安装结束后,Ubuntu会自动启动Nginx,Web服务器就已经在运行了。
sudo systemctl status nginx
绿色部分显示running即表示Nginx服务器正常工作中
这个时候打开浏览器,输入 http://your_sercer_ip_address就可以看到网站内容了
1.4 Nginx的管理
#检查命令
sudo nginx -t
#停止nginx
sudo systemctl stop nginx
#启动nginx
sudo systemctl start nginx
#修改配置,热加载nginx
sudo nginx -s relaod
1.5 Nginx 文件及目录
内容
- /var/www/html 默认打开可以看到 Nginx 页面。
- /var/www/html 实际的 Web 内容。我们可以通过更改 Nginx 配置来更改文件。
服务器配置
- /etc/nginx Nginx 配置目录。所有 Nginx 的配置文件都在这里。
- /etc/nginx/nginx.conf Nginx 的配置文件。大多数全局配置可以通过这个文件来修改。
- /etc/nginx/sites-available/sites-enabled 用来存储服务器下每个站点服务器块的目录。 默认情况下 Nginx 不会直接使用目录下的配置文件,需要我们更改配置来告诉 Nginx 来去读。
- /etc/nginx/sites-enabled/sites-available 这里是存储已经启用站点服务器块的目录。
服务器日志
- /var/log/nginx/access.log 这里是 Nginx 到日志文件,对 Web 服务器的每个请求都会记录在这个日志中。
- /var/log/nginx/error.log 记录 Nginx 运行过程中发生的错误日志。
把打包的项目传到服务器的目录上面
修改/etc/nginx/nginx.conf文件,添加以下内容
每配置一个端口就配置一个server,主要修改listen的端口号和root指向的项目路径
配置完保存,然后输入sudo nginx -s reload热加载生效。
二、SSL证书配置
2.1 域名的dns解析
控制台页面选择DNS解析DNSPod 或者直接搜索DNS解析进入。
选择对应的域名,点击进入
点击 添加记录
填写主机记录(即二级域名的名称),记录值(服务器公网IP),然后点击保存。
2.2 腾讯云申请SSL证书
控制台页面选择SSL证书或者直接搜索SSL证书进入。
选择 我的证书,然后选择申请免费证书
选择亚洲诚信,确定
填写资料,证书绑定的域名和申请邮箱,点击下一步
选择 DNS
在域名DNS解析里面添加新的记录,点击保存。
返回SSL证书申请页面,点击查看域名验证状态,出现验证成功,就可以等待证书签发了。
返回我的证书页面,可以看到证书已经签发了
点击对应证书右边的下载,选择Nginx,下载
下载的文件解压出来,可以看到4个文件,其中圈圈的2个是Nginx配置需要的。
接下来就可以到服务器的Nginx配置SSL证书了。
2.3 Nginx配置SSL证书
打开winscp登录服务器,在/etc/nginx目录下新建一个ssl的目录,用来存放ssl证书。
把刚才下载的nginx的ssl证书文件传到ssl目录下面
返回上一级,选择conf.d目录
打开ssl.conf文件(没有的话新建一个)
主要就2部分配置
- 域名映射,即二级域名映射到哪个端口。
- 监听443端口,添加ssl证书的路径,映射项目的端口号。
- 其他的二级域名都是这样配置,不需要配置ssl证书的话,就不用写第二部分的代码。
修改完,在ubuntu的命令行输入 sudo nginx -s reload,nginx配置生效。