2019独角兽企业重金招聘Python工程师标准>>>
现在很多公司都有云主机,但随着项目或者公司业务的扩大,或者对软件设计的要求越来越高。一种与语言环境已经不能满足。但是如果通过端口来访问又显得不够专业。
现在主流的 JAVA + PHP 共享80端口的方案有
- mod_jk 转发
- nginx 转发
- apache 自带的 mod_proxy 模块
本文采用的是第三种。
apache中的mod_proxy模块主要作用就是进行url的转发,即具有代理的功能。应用此功能,可以很方便的实现同tomcat等应用服务器的整合,甚者可以很方便的实现web集群的功能。
一、环境说明
- CentOS 7 64位
- apache 2.4.6
- JDK 1.8.0_161
- PHP 5.6.33
- tomcat 7.0.76
二、安装环境
- 安装httpd
yum install httpd
apache 安装目录
/etc/httpd
apache www 目录/var/www
- 安装 php 默认版本为5.4,所以要先升级仓库,再安装
1. 升级仓库
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
2. 安装5.6
yum install -y php56w php56w-opcache php56w-xml php56w-mcrypt php56w-gd php56w-devel php56w-mysql php56w-intl php56w-mbstring
- 安装 JDK
yum install java-1.8.0-openjdk
- 安装 Tomcat
yum install tomcat tomcat-webapps tomcat-admin-webapps
tomcat 安装目录
/etc/tomcat
tomcat webapps目录/var/lib/tomcat/webapps
三、配置 Apache
- 配置 httpd.conf
vi /etc/httpd/conf/httpd.conf
- 添加读取虚拟主机配置
放在配置文件开头
Include conf/extra/httpd-vhosts.conf
- 新建 extra/httpd-vhosts.conf 配置文件
# ServerAlias localhost # 绑定的子域名
# DocumentRoot /var/www/html/ # 网站主目录
# ErrorLog logs/vhost1.test.com-error_log # 错误日志配置 (默认在 /etc/httpd/logs 目录下)
# CustomLog logs/vhost1.test.com-access_log common # 访问日志配置 (默认在 /etc/httpd/logs 目录下)
# ServerSignature Off
#
# 主机目录
#
# Options Indexes FollowSymlinks
# AllowOverride All
# Require all granted
#
DocumentRoot /var/www/html
ServerName php.test.com
ErrorLog logs/php.test.com-error_log
CustomLog logs/php.test.com-access_log common
Options Indexes FollowSymlinks
AllowOverride All
Require all granted
ServerName jsp.test.com
DocumentRoot /var/lib/tomcat/webapps/ROOT
ErrorLog logs/jsp.test.com-error_log
CustomLog logs/jsp.test.com-access_log common
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
新建配置文件如果无法保存,可以尝试使用 sudo 执行,或者先创建目录,创建文件后再编辑。
四、访问
- 启动tomcat
systemctl start tomcat.service
- 启动 Apache
systemctl start httpd.service
通过上边的配置,已经完成apache、tomcat 共享80端口的基本配置,也很好理解。
换一台主机,配置 host,php.test.com , jsp.test.com 均指向提供服务的主机 IP。
广告栏: 欢迎关注我的 个人博客