Ubuntu下使用Apache2反向代理php应用

最近帮一朋友搭建一discuz!论坛,因为他的服务器上其实还有一个官网,只注册了一个域名,想把discuz论坛也挂在这个域名下。而官网应用是使用 java 语言写的,因而想到使用到Apache2的反向代理功能,将域名的根目录转至官网,而子层目录/forum转至php解析的discuz。

创新互联是专业的嘉黎网站建设公司,嘉黎接单;提供网站设计、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行嘉黎网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

步骤:

1.系统更新:

apt-get update

2.MySQL安装,配置/usr/bin/mysql_secure_installation:

apt-get install mysql-server mysql-client

3.Apache2安装,配置:

apt-get install apache2 libapache2-mod-auth-mysql

4.php5安装,配置:

apt-get install php5 php5-mcrypt php5-curl php5-mysql
service apache2 restart

5.上传源码文件: Apache2和php5安装完之后,默认的根目录是位于 /var/www 之下,所以,在该目录下新建 forum 目录,把discuz的upload目录下的所有文件上传至 /var/www/forum 之下.

配置Apache2的反向代理功能:

修改/etc/apache2/apache2.conf:

cd /etc/apache2/
vi apache2.conf

	Options Indexes FollowSymLinks
	#AllowOverride None
	AllowOverride all#注意这行
	Require all granted

6.加载反向代理模块

a2enmod proxy_http
service apache2 restart

7.配置反向代理的应用:

再次介绍实际情况:

一个官网应用(java)应该配置在域名的根目录下(http://www.xxx.com),

一个discuz应用应该配置在子层目录下(http://www.xxx.com/forum),

目前官网应用已发布在tomcat下(http://127.0.0.11:81),仅需要部署discuz。

cd /etc/apache2/sites-available/
cp 000-default.conf aaa-proxy.conf aaa-forum.conf
vi aaa-proxy.conf


    ServerAdmin webmaster@localhost
    ServerName www.xxx.com
    DocumentRoot /var/www

    ProxyPreserveHost On
    ProxyPass /forum http://127.0.0.10/forum
    ProxyPass / http://127.0.0.11:81/

    ……



vi aaa-forum.conf


    ServerAdmin webmaster@localhost
    DocumentRoot /var/www

    ……



a2ensite aaa-proxy aaa-forum
a2dissite 000-default
service apache2 restart

OK!此时访问 http://www.xxx.com 以及 http://www.xxx.com/forum 都应可以访问了。

参考链接:Tutorial: Apache 2.4 as reverse proxy


当前文章:Ubuntu下使用Apache2反向代理php应用
链接地址:http://pwwzsj.com/article/iijhjo.html