介紹
- 高性能的web服務器,開源免費
- 一般用於做靜態服務,負載均衡
- 用於反向代理
安裝
Mac使用homeBrow安裝,Centos使用yum安裝
常用命令
# 重啟nginx nginx -s reload # 停止nginx nginx -s stop # 測試配置文件是否正確,同時會列出配置文件位置 nginx -t
Nginx配置
# 使用 nginx -t 來顯示conf文件位置
http{
server{
listen 8080; # 監聽端口
server_name localhost; # _相當於0.0.0.0;也可以指定域名
# 配置靜態文件
location / {
root /User/me/html; # /路由尋找的目錄
index index.html; # index文件名
}
# 配置動態轉發
location /home { # 轉發
proxy_pass http://localhost:8001;
}
location /api/ { # 轉發
proxy_pass http://localhost:8000;
proxy_set_header Host $host;
}
}
}
快速啟動動態服務
用途:
- 和前端聯調時,登錄功能依賴cookie,必須使用瀏覽器聯調
- cookie跨域不共享,前端和server必須同域
- 需要用nignx做代理,讓前后端同域
使用node的http服務
# 需要sudo權限;-g是global全局安裝 npm install http-server -g # 啟動http服務,指定端口,默認是8080 http-server -p 8001
雲服務器配置https
- 申請騰訊雲證書
- 下載並上傳到服務器,解壓:目錄中有Apache、Nginx、Tomcat等文件夾,使用Nginx文件夾中的兩個文件,crt文件是證書,key文件是秘鑰
- 配置conf:conf文件里有http部分和https部分,默認是打開http部分的,現在注釋掉http部分,打開https部分,並指定crt和key文件以及域名即可
- 瀏覽器訪問https://<host> 即可
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name xxx.xx yyy.yy; # 指定申請的域名,若多個域名使用空格隔開
root /usr/share/nginx/html;
ssl_certificate "/etc/pki/nginx/server.crt”; # 復制crt文件
ssl_certificate_key "/etc/pki/nginx/private/server.key”; # 復制key文件
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers PROFILE=SYSTEM;
ssl_prefer_server_ciphers on;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
