博客列表 >Server——Nginx服务器

Server——Nginx服务器

JenJEN
JenJEN原创
2020年11月20日 17:56:38967浏览

nginx.conf配置

  1. 建议:自行找到对应
  2. worker_processes  auto;    #工作进程:根据硬件调整
  3. worker_connections  1024;    #工作进程的最大连接数量
  4. #配置多站点    http中加入此行
  5. include /路径/*.conf;    #主要是加入此行,如有则忽略
  6. #在新建的.conf加入server
  7. server
  8. {
  9. listen 80;
  10. server_name 域名;
  11. location / {
  12. root    地址;
  13. index  index.html;
  14. }
  15. error_page 404 /404.html;
  16. location = /40x.html{
  17. root   html;
  18. }
  19. error_page   500 502 503 504  /50x.html;
  20. location = /50x.html {
  21. root   html;
  22. }
  23. }

 

反向代理和网址

  1. #反向代理
  2. server {
  3. listen       80;
  4. server_name  域名;
  5. location / {
  6. proxy_pass   http://127.0.0.1:8096;
  7. }
  8. error_page   500 502 503 504  /50x.html;
  9. location = /50x.html {
  10. root   html;
  11. }
  12. }
  13. #网站
  14. server {
  15. listen       80;
  16. server_name  域名;
  17. root F:/resources;
  18. index  index.html index.htm;
  19. }

 

跨域

  1. #nginx设置允许跨域
  2. #*代表接受任意域名的请求
  3. add_header Access-Control-Allow-Origin *;
  4. #是否允许发送Cookie
  5. add_header Access-Control-Allow-Credentials 'true';
  6. #请求类型
  7. add_header Access-Control-Allow-Methods 'GET,POST,OPTIONS';
  8. #预检请求
  9. add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
  10. #自定义请求头无法操作
  11. add_header Access-Control-Expose-Headers 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range';

注:目标URL就是在Tomcat上域名/IP

Nginx反爬虫处理

  1. 1.进入到nginx安装目录下的conf目录,将如下代码保存为 agent_deny.conf
  2. #禁止Scrapy等工具的抓取
  3. if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
  4.      return 403;
  5. }
  6. #禁止指定UA及UA为空的访问
  7. if ($http_user_agent ~* "FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$" ) {
  8.      return 403;             
  9. }
  10. #禁止非GET|HEAD|POST方式的抓取
  11. if ($request_method !~ ^(GET|HEAD|POST)$) {
  12.     return 403;
  13. }
  14. # 禁止百度及谷歌等
  15. if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot”)  {
  16.     return 403;
  17. }
  18. 2.然后,在网站相关配置中的 server段插入如下代码:
  19. include agent_deny.conf;
  20. 3.保存后,执行如下命令,平滑重启nginx即可:
  21. /usr/local/nginx/sbin/nginx -s reload

 

负载均衡

  1. upstream配置:
  2. 在http配置下增加upstream配置即可:
  3. upstream nodes {
  4. #监控server的80端口,weigh为权重,2每访问两次,3访问一词
  5. server 192.168.0.1:8080 weigh=2;
  6. server 192.168.0.2:8080;
  7. }
  8. #server配置
  9. location / {  
  10. proxy_pass http://nodes;  
  11. index  index.html index.htm;  
  12. }  

 

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议