欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Nginx(代理)+Tomcat(Java)+Apache(PHP)共用80端口

程序员文章站 2022-07-15 14:29:58
...

解决的核心问题是:使用一个80端口,根据域名或者子域名 同时访问java + php运行环境
1.下载nginx

官网下载链接:http://nginx.org/en/download.html 接下来我以nginx/Windows-1.16.0
nginx-1.16.0.zip下载链接如下:https://pan.baidu.com/s/1IqL1g7134Qd4Cjoq1d4lBQ
下载后解压,解压后如下
Nginx(代理)+Tomcat(Java)+Apache(PHP)共用80端口
2.nginx的运用
有很多种方法启动nginx
(1)直接双击解压文件夹里的nginx.exe,双击后一个黑色的弹窗一闪而过,证明启动成功
(2)打开cmd命令窗口,切换到nginx解压目录下,输入命令 nginx.exe 或者 start nginx ,回车即可;
常用命令如下:

  1. 快速停止或关闭:nginx -s stop

  2. 正常停止或关闭:nginx -s quit

  3. 配置文件修改重装载命令:nginx -s reload

检查nginx是否启动成功:
cmd命令窗口输入命令:tasklist /fi "imagename eq nginx.exe" 出现如下结果说明启动成功
Nginx(代理)+Tomcat(Java)+Apache(PHP)共用80端口

3.nginx代理设置
①修改要用到的配置文件
…\nginx-1.16.0\conf\nginx.conf
Java
Nginx(代理)+Tomcat(Java)+Apache(PHP)共用80端口
代码如下:

upstream java{
	server 127.0.0.1:8080 weight=1;
}
server {
    listen       80;
    server_name  www.java.com;
	location / {
		proxy_pass   http://java;
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		
	}
}

PHP Nginx(代理)+Tomcat(Java)+Apache(PHP)共用80端口
代码如下:

upstream php{
	server 127.0.0.1:808 weight=1;
}

server {
    listen       80;
    server_name  www.php.com;
	location / {
		proxy_pass   http://php;
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		
	}
}

②Tomcat :…\apache-tomcat-7.0.64\conf\server.xml
默认端口为8080

③Apache: …\Apache24\conf\httpd.conf
Listen 80 改 Listen 808

④Hosts : C:\Windows\System32\drivers\etc\HOSTS
增加两行数据
127.0.0.1 www.java.com
127.0.0.1 www.php.com

重新启动Tomcat/Apache/nginx

最后访问:
www.java.com 会进入 8080端口的Tomcat 环境
www.php.com 会进入 808 端口的 Apache 环境