文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Nginx中怎么实现反向代理

2024-04-02 19:55

关注

这篇文章给大家介绍Nginx中怎么实现反向代理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

1 建立用户及组

/usr/sbin/groupadd www  /usr/sbin/useradd -g www www

2 安装pcre 让Nginx反向代理支持rewrite 方便以后所需

  1. wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.8.tar.gz  

  2. tar zxvf pcre-7.8.tar.gz  

  3. cd pcre-7.8/  

  4. ./configure  

  5. make && make install 


3 安装Nginx反向代理

  1. wget http://sysoev.ru/  nginx  /nginx-0.7.58.tar.gz  

  2. tar zxvf nginx-0.7.58.tar.gz  

  3. cd nginx-0.7.58/  

  4. ./configure --user=www --group=www --prefix=/usr/
    local/webserver/nginx --with-http_stub_status_module 
    --with-http_ssl_module --with-cc-opt='-O2' --with-cpu-opt
    =opteron 

  5. make && make install 


注意上文中的--with-cc-opt='-O2' --with-cpu-opt=opteron 这是编译器优化,目前最常用的是-02 而不是3.后面对应CPU的型号。

第2部分:配置及优化配置文件

1 Nginx.conf 配置文件:

  1. user www www;  

  2. worker_processes 4;  

  3. # [ debug | info | notice | warn | error | crit ]  

  4. error_log /usr/local/webserver/nginx/logs/nginx_error.log crit;  

  5. pid /usr/local/webserver/nginx/nginx.pid;  

  6. #Specifies the value for maximum file descriptors that 
    can be opened by this process.  

  7. worker_rlimit_nofile 51200;  

  8. events  

  9. {  

  10. use epoll;  

  11. worker_connections 51200;  

  12. }  

  13. http  

  14. {  

  15. include mime.types;  

  16. default_type application/octet-stream;  

  17. source_charset GB2312;  

  18. server_names_hash_bucket_size 256;  

  19. client_header_buffer_size 256k;  

  20. large_client_header_buffers 4 256k;  

  21. #size limits  

  22. client_max_body_size 50m;  

  23. client_body_buffer_size 256k;  

  24. client_header_timeout 3m;  

  25. client_body_timeout 3m;  

  26. send_timeout 3m;  

  27. #参数都有所调整.目的是解决代理过程中出现的一些502 499错误   

  28. sendfile on;  

  29. tcp_nopush on;  

  30. keepalive_timeout 120; #参数加大,以解决做代理时502错误  

  31. tcp_nodelay on;  

  32. include vhosts/upstream.conf;  

  33. include vhosts/bbs.linuxtone.conf;   

2 upstream.conf 配置文件(这也是做负载的配置方法

upstream.conf  upstream bbs.linuxtone.com {  server 192.168.1.4:8099;  }

3 站点配置文件

  1. bbs.linuxtone.conf  

  2. server  

  3. {  

  4. listen 80;  

  5. server_name bbs.linuxtone.conf;  

  6. charset GB2312;  

  7. index index.html index.htm;  

  8. root /date/wwwroot/linuxtone/;  

  9. location ~ ^/NginxStatus/ {  

  10. stub_status on;  

  11. access_log off;  

  12. }  

  13. location / {  

  14. root /date/wwwroot/linuxtone/;  

  15. proxy_redirect off ;  

  16. proxy_set_header Host $host;  

  17. proxy_set_header X-Real-IP $remote_addr;  

  18. proxy_set_header REMOTE-HOST $remote_addr;  

  19. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  

  20. client_max_body_size 50m;  

  21. client_body_buffer_size 256k;  

  22. proxy_connect_timeout 30;  

  23. proxy_send_timeout 30;  

  24. proxy_read_timeout 60;  

  25. proxy_buffer_size 256k;  

  26. proxy_buffers 4 256k;  

  27. proxy_busy_buffers_size 256k;  

  28. proxy_temp_file_write_size 256k;  

  29. proxy_next_upstream error timeout invalid_header http_500 
    http_503 http_404;  

  30. proxy_max_temp_file_size 128m;  

  31. proxy_pass http://bbs.linuxtone.com;  


参数都有所调整.目的是解决代理过程中出现的一些502 499错误

#Add expires header for static content  location ~* \.(jpg|jpeg|gif|png|swf)$ {  if (-f $request_filename) {  root /date/wwwroot/linuxtone/;  expires 1d;  break;  }  }  log_format access '$remote_addr - $remote_user [$time_local] "$request" '  '$status $body_bytes_sent "$http_referer" '  '"$http_user_agent" $http_x_forwarded_for';  access_log /exp/nginxlogs/bbs.linuxtone_access.log access;  }

关于Nginx中怎么实现反向代理就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯