Nginx 常用的基础配置(web前端相关方面) 快资讯
(资料图片)
最近很多朋友通过趣站网问到Nginx配置前端 web 服务,所以特地写了这篇文章;希望能够帮助更多的朋友。
基础配置
user root;worker_processes 1;events { worker_connections 10240;}http { log_format "$remote_addr - $remote_user [$time_local] " ""$request" $status $body_bytes_sent " ""$http_referer" "$http_user_agent""; include mime.types; default_type application/octet-stream; sendfile on; #autoindex on; #autoindex_exact_size off; autoindex_localtime on; keepalive_timeout 65; gzip on; gzip_disable "msie6"; gzip_min_length 100; gzip_buffers 4 16k; gzip_comp_level 1; gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; gzip_types "*"; gzip_vary off; server_tokens off; client_max_body_size 200m; server { listen 80 default_server; server_name _; return 403 /www/403/index.html; } include ../serve/*.conf;}
隐藏 Nginx 版本信息
http { server_tokens off;}
禁止ip直接访问80端口
server { listen 80 default; server_name _; return 500;}
启动 web 服务 (vue 项目为例)
server { # 项目启动端口 listen 80; # 域名(localhost) server_name _; # 禁止 iframe 嵌套 add_header X-Frame-Options SAMEORIGIN; # 访问地址 根路径配置 location / { # 项目目录 root html; # 默认读取文件 index index.html; # 配置 history 模式的刷新空白 try_files $uri $uri/ /index.html; } # 后缀匹配,解决静态资源找不到问题 location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ { root html/static/; } # 图片防盗链 location ~/static/.*\.(jpg|jpeg|png|gif|webp)$ { root html; valid_referers *.deeruby.com; if ($invalid_referer) { return 403; } } # 访问限制 location /static { root html; # allow 允许 allow 39.xxx.xxx.xxx; # deny 拒绝 deny all; }}
PC端和移动端使用不同的项目文件映射
server { ...... location / { root /home/static/pc; if ($http_user_agent ~* "(mobile|android|iphone|ipod|phone)") { root /home/static/mobile; } index index.html; }}
一个web服务,配置多个项目 (location 匹配路由区别)
server { listen 80; server_name _; # 主应用 location / { root html/main; index index.html; try_files $uri $uri/ /index.html; } # 子应用一 location ^~ /store/ { proxy_pass http://localhost:8001; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # 子应用二 location ^~ /school/ { proxy_pass http://localhost:8002; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # 静态资源读取不到问题处理 rewrite ^/api/profile/(.*)$ /(替换成正确路径的文件的上一层目录)/$1 last;}# 子应用一服务server { listen 8001; server_name _; location / { root html/store; index index.html; try_files $uri $uri/ /index.html; } location ^~ /store/ { alias html/store/; index index.html index.htm; try_files $uri /store/index.html; } # 接口代理 location /api { proxy_pass http://localhost:8089; }}# 子应用二服务server { listen 8002; server_name _; location / { root html/school; index index.html; try_files $uri $uri/ /index.html; } location ^~ /school/ { alias html/school/; index index.html index.htm; try_files $uri /school/index.html; } # 接口代理 location /api { proxy_pass http://localhost:10010; }}
配置负载均衡
upstream my_upstream { server http://localhost:9001; server http://localhost:9002; server http://localhost:9003;}server { listen 9000; server_name test.com; location / { proxy_pass my_upstream; proxy_set_header Host $proxy_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }}
SSL 配置 HTTPS
server { listen 80; server_name www.xxx.com; # 将 http 重定向转移到 https return 301 https://$server_name$request_uri;}server { listen 443 ssl; server_name www.xxx.com; ssl_certificate /etc/nginx/ssl/www.xxx.com.pem; ssl_certificate_key /etc/nginx/ssl/www.xxx.com.key; ssl_session_timeout 10m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; location / { root /project/xxx; index index.html index.htm index.md; try_files $uri $uri/ /index.html; }}
-
Nginx 常用的基础配置(web前端相关方面) 快资讯
腾讯云 2023-02-12
-
送礼物给女生|世界快报
太平洋礼物网 2023-02-12
-
三大巨头同框!张艺谋被孤立,陈凯歌长老年斑,冯小刚白癜风加重 环球即时看
娱乐圈哔哔King 2023-02-12
-
世界焦点!拜登同卢拉会谈讨论应对气候变化合作
新华网 2023-02-11
-
全球今热点:贵阳观山湖公园梅花盛开引客来
中国新闻网 2023-02-11
-
环球报道:波特:只要奥巴梅扬还在切尔西,我们就会尊重并帮助他
直播吧 2023-02-11
-
【代表委员新春寄语】深化诉源治理助推基层治理现代化
最高人民检察院 2023-02-11
-
环球即时:蔷薇花简笔画大全大图_蔷薇花图片简笔画
互联网 2023-02-11
-
加媒:美边防人员收取报酬 违规运送移民至加拿大境内
央视新闻客户端 2023-02-11
-
02月11日00时江苏无锡疫情数据 阳了以后为什么会腰疼?应该怎么办?-全球快看点
互联网 2023-02-11
-
Nginx 常用的基础配置(web前端相关方面) 快资讯
腾讯云 2023-02-12
-
送礼物给女生|世界快报
太平洋礼物网 2023-02-12
-
三大巨头同框!张艺谋被孤立,陈凯歌长老年斑,冯小刚白癜风加重 环球即时看
娱乐圈哔哔King 2023-02-12
-
世界焦点!拜登同卢拉会谈讨论应对气候变化合作
新华网 2023-02-11
-
全球今热点:贵阳观山湖公园梅花盛开引客来
中国新闻网 2023-02-11
-
环球报道:波特:只要奥巴梅扬还在切尔西,我们就会尊重并帮助他
直播吧 2023-02-11
-
【代表委员新春寄语】深化诉源治理助推基层治理现代化
最高人民检察院 2023-02-11
-
环球即时:蔷薇花简笔画大全大图_蔷薇花图片简笔画
互联网 2023-02-11
-
加媒:美边防人员收取报酬 违规运送移民至加拿大境内
央视新闻客户端 2023-02-11
-
02月11日00时江苏无锡疫情数据 阳了以后为什么会腰疼?应该怎么办?-全球快看点
互联网 2023-02-11
-
淘宝新势力周活动力度大吗?招商规则是什么?
上海商报 2023-02-11
-
送女友一岁到三十岁生日礼物 环球短讯
太平洋礼物网 2023-02-10
-
【世界新要闻】剥离强度英文翻译_剥离强度
北流生活 2023-02-10
-
电脑基本技巧:电脑任务栏不见了的解决方法
互联网 2023-02-10
-
*ST未来:终止收购美国骨科手术中心股权,标的公司收益及增长未能达到公司预期水平 每日热议
互联网 2023-02-10
-
世界动态:绿地,绿地,绿你咋地?2020最佳广告文案
今日头条 2023-02-10
-
第二章(多有不足还望指教)
哔哩哔哩 2023-02-10
-
观点:23南通产业SCP001票面利率为2.8900%
东方财富Choice数据 2023-02-10
-
环球观点:教师个人先进事迹简短范文_教师个人先进事迹
互联网 2023-02-10
-
环球关注:QQ幸运字符amigo什么意思
今日热点网 2023-02-10
-
如何用一加6t打开nfc
元宇宙网 2023-02-10
-
孕早期可以去看电影嘛_孕早期可以看电影吗
互联网 2023-02-10
-
教你怎么美化QQ
上海商报 2023-02-10
-
值日生表模板可爱小学_值日生表模板
互联网 2023-02-10
-
平台要做用户信息守门人 当前视讯
经济日报 2023-02-10
-
华为P30发布会_华为p30发布会
北流生活 2023-02-10
-
ln是什么函数怎么算_ln是什么函数
互联网 2023-02-10
-
消息!今年闰几月 2022年闰几月
互联网 2023-02-10
-
有机棉内裤的好处_有机棉内裤好吗
互联网 2023-02-09
-
微信10几个g怎么清理_这个操作一键清空微信垃圾内容 天天速讯
热点网 2023-02-09