最近帮一朋友搭建一discuz!论坛,因为他的服务器上其实还有一个官网,只注册了一个域名,想把discuz论坛也挂在这个域名下。而官网应用是使用 java 语言写的,因而想到使用到Apache2的反向代理功能,将域名的根目录转至官网,而子层目录/forum转至php解析的discuz。
步骤:
#系统更新: apt-get update #MySql安装,配置: apt-get install mysql-server mysql-client /usr/bin/mysql_secure_installation #Apache2安装,配置: apt-get install apache2 libapache2-mod-auth-mysql #php5安装,配置: apt-get install php5 php5-mcrypt php5-curl php5-mysql service apache2 restart #上传源码文件: Apache2和php5安装完之后,默认的根目录是位于 /var/www 之下,所以,在该目录下新建 forum 目录,把discuz的upload目录下的所有文件上传至 /var/www/forum 之下. #配置Apache2的反向代理功能: #修改/etc/apache2/apache2.conf: cd /etc/apache2/ vi apache2.conf <Directory /car/www/> Options Indexes FollowSymLinks #AllowOverride None AllowOverride all#注意这行 Require all granted </Directory> #加载反向代理模块 a2enmod proxy_http service apache2 restart #配置反向代理的应用: #再次介绍实际情况: #一个官网应用(java)应该配置在域名的根目录下(http://www.xxx.com), #一个discuz应用应该配置在子层目录下(http://www.xxx.com/forum), #目前官网应用已发布在tomcat下(http://127.0.0.1:8080),仅需要部署discuz。 cd /etc/apache2/sites-available/ cp 000-default.conf qianxiangnet-proxy.conf qianxiangnet-forum.conf vi qianxiangnet-proxy.conf <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName www.xxx.com DocumentRoot /var/www ProxyPreserveHost On ProxyPass /forum http://127.0.0.2/forum ProxyPass / http://127.0.0.1:8080/ …… </VirtualHost> vi qianxiangnet-forum.conf <VirtualHost 127.0.0.2:80> ServerAdmin webmaster@localhost DocumentRoot /var/www …… </VirtualHost> a2ensite qianxiangnet-proxy qianxiangnet-forum a2dissite 000-default service apache2 restart
OK!此时访问 http://www.xxx.com 以及 http://www.xxx.com/forum 都应可以访问了。
参考链接:
Tutorial: Apache 2.4 as reverse proxy
本文出自 “keep_study_zh” 博客,请务必保留此出处http://zhkpsty.blog.51cto.com/9013616/1728662
原文地址:http://zhkpsty.blog.51cto.com/9013616/1728662