nginx系列1(同时反向代理Java、PHP项目)

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u012467855/article/details/80051205

nginx

 

Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

 

第一:NGINX的安装

 

第二:NGINX的使用

a、反向代理主要是通过NGINX安装目录下的conf/nginx.conf文件  通过编辑里面来实现配置文件

示例:

    情况一:在同一服务器中通过80端口来拦截所有的请求,然后根据端口号对应到相应的网址
    ####这里配置的Java项目####
 server {
        listen       80;
        server_name    www.xxx.com  xxx.com  (网址)
        access_log  logs/host.access.log  main;  (日志文件)
        location / {
          proxy_pass http://localhost:8080;   (项目实际的地址)
        }
    }
########
#####  这里配置的PHP项目###
server {
        listen       80;
        server_name  wx.xxx.com
        access_log  logs/host.access.log  main;
        location / {   
          proxy_pass http://wx.xxx.com:8083;   
             }
    }

########

b、配置之后,需要进入cmd中检查配置、重新加载

找到安装路径的NGINX目录   shift+右键  选择进入cmd窗口(注意进入的cmd窗口是否正确

检查配置的命令  nginx -t    主要是为了检查配置文件中是否有错误(语法错误等)

重新加载配置文件 nginx -s reload 

注(启动的命令为 start -nginx)

 

展开阅读全文

nginx/java tcp反向代理

03-13

1.需求:用户通过公网IP:port 这个入口,能够访问到自己虚拟机(提供内网IP):22端口。rn2.实现限制:由于公网ip有限,用户访问量较大,不可能给每个用户分配一个ip或端口。所以考虑通过域名的方式来区分不同的用户rn3.参考方案:给每个用户提供一个二级域名,如userA.XXX.com、userB.XXX.com;然后通过ipables做端口映射,rn将所有*.XXX.com:10099的tcp请求转发到myProxy:10098这个代理服务器,代理服务器然后根据每个用户的域名,再反向代理到自己的虚拟机IP:22端口。rn4.实现:在具体的实施过程中,发现nginx可以做tcp反向代理(nginx本身不具备,需要装nginx_tcp_proxy_module第三方模块),这个链路是通的(公网IP:10099->反向代理服务器:10099->虚拟机IP:22),但是tcp反向代理服务器无法通过不同的二级域名来智能路由到不同的虚拟机(备注:利用nginx的http反向代理是可以根据域名来做请求转发的)。[color=#FF0000]看大伙怎么考虑这个问题,畅所欲言,不一定非要用nginx。[/color]rn下面是tcp反向代理的nginx.conf部分配置rntcp rn upstream chatClusterrn # simple round-robinrn server 192.168.202.249:10098;rn #server 127.0.0.1:1234;rn check interval=3000 rise=2 fall=5 timeout=1000;rn rn server rn listen 10098;rn proxy_pass chatCluster;rn rnrn在帖下http反向代理,根据不同的二级域名做路由转发rnserverrnrnlisten 10000;rnserver_name *.newtouch.cn;rnif ($http_host ~* "^(.*?)\.newtouch\.cn:10001$") rn set $domain $1;rn rnlocation / rn if ($domain ~* "test1") rn proxy_pass http://www.baidu.com;rn rn if ($domain ~* "test2") rn proxy_pass http://www.sohu.com;rn rn proxy_pass http://www.sohu.com;rn proxy_redirect off;rn proxy_set_header X-Real-IP $remote_addr;rn proxy_set_header X-Forwarded-Host $host;rn proxy_set_header X-Forwarded-Server $host;rn proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;rn rn 论坛

没有更多推荐了,返回首页