Nginx
介绍
Nginx 是一个高性能的开源 Web 服务器和反向代理服务器,以其稳定性、丰富的功能集和低资源消耗。
安装
shell
# 安装 nginx
sudo apt update
sudo apt install nginx
# 查看 nginx 安装路径
which nginx
# 检查是否配置正确
sudo nginx -t
# 删除
sudo apt-get --purge remove nginx
sudo apt-get autoremove
# 查看Nginx系统模块,已安装的全部卸载
dpkg --get-selections|grep nginx
sudo apt-get --purge remove nginx-common
sudo apt-get --purge remove nginx-core
dpkg --get-selections|grep nginx
sudo apt-get install nginx
# 自动移除全部不使用的软件包
sudo apt-get autoremove
# 重启 nginx
nginx -s reload
sudo /etc/init.d/apache2 stop # 如果重启失败了先执行这个先关闭 apache2
sudo systemctl start apache2 # 重新启动 apache2
配置文件
nginx 默认配置文件在 /etc/nginx
,可以在 sites-enabled
目录下新增配置文件
下面是我的服务器反向代理配置文件,并且设置了图片缓存相应头,凡是 /image | /uploads
的图片都会执行被缓存到浏览器中
以下配置是针对后端配置,并且实现图片缓存
conf
server {
listen 80;
server_name abbbbbbbbcd.com;
# Redirect HTTP to HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name abbbbbbbbcd.com;
# SSL configuration
ssl_certificate /home/project/xxxxxx/ssl/abbbbbbbbcd.com.pem;
ssl_certificate_key /home/project/xxxxxx/ssl/abbbbbbbbcd.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
location ~ ^/(images|uploads) {
expires 30d; # 设置缓存过期时间为 30 天
add_header Cache-Control "public"; # 指示响应可以被任何缓存缓存
add_header Last-Modified $date_gmt; # 添加响应的最后修改时间
proxy_pass http://localhost:1219;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location / {
proxy_pass http://localhost:1219;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
针对前对配置,访问 html 文件
conf
server {
listen 80;
server_name docs.abc.com;
# Redirect HTTP to HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name docs.abc.com;
# SSL configuration
ssl_certificate /home/xxxxx/docs.abc.com.pem;
ssl_certificate_key /home/xxxxx/docs.abc.com.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
location / {
root /home/xxxx/dist;
index index.html;
try_files $uri $uri/ /index.html;
}
}
检查配置文件
修改玩配置文件之后需要检查配置是否正确,使用下面命令
shell
nginx -t
如果打印下面内容则代表配置成功
shell
nginx: configuration file /etc/nginx/nginx.conf test is successful
root@hcss-ecs-7f6c:~# sudo service nginx reload
如果配置成功之后需要重启 nginx 服务,下面命令可以重启服务,如果没有打印任何日志说明重启成功
shell
sudo service nginx reload