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

最近帮一朋友搭建一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 [email protected]
    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 [email protected]
    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

时间: 2024-10-24 11:53:58

Ubuntu下使用Apache2反向代理php应用的相关文章

ubuntu 14.04+apache 反向代理设置

第一步 sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod proxy_balancer 第二步 在ubuntu的apache里,每个网站的配置文件是放在单独的文件里,找到 sites-available 文件夹里对应的文件并修改,修改后的配置文件差不多是下面的样子. ServerName www.a.com DocumentRoot “/var/site/www/” ProxyRequests Off <Proxy *> Order

ASP.NET Core 2.1发布/部署到Ubuntu并配置Nginx反向代理实现ip访问

一.准备 我用的是Ubuntu服务器器 [Ubuntu 18.04 x64] 和终端管理工具[Xshell] 二.安装 在服务器上安装.NET Core 三.部署程序 1.创建实例程序 可以直接使用.NET Core 的命令创建一个ASP.NET Core 示例网站应用程序,创建目录 /home/myuser/firstapp,执行命令: dotnet new mvc 接着,发布刚才创建的ASP.NET Core 网站发网站目录,所以,我们先创建一个网站发布目录:/var/www/firstap

夺命雷公狗---linux NO:39 linux下nginx的反向代理

反向代理图如下所示: 由上图可见,我们的服务器其实是分了两台,一台专门存放  php   之类的源码程序的,另外一台是专门存放图片用的服务器,由于图片在服务器A不存在,所以可能导致如下显示: 看不到这是很正常的,因为服务器A下没有这图片,图片在服务器B下: 所以我们要更改一下服务器A的配置文件: 然后我们开始为服务器添加一段反向代理的代码: location ~ \.(jpg|jpeg|png|gif)$ { proxy_pass http://192.168.8.166:80; } 然后保存退

[nginx]Windows和Mac下,nginx反向代理服务器配置

最近做项目,前端需要用到nginx反向代理来转发请求,总结了一下在Windows和Mac上的配置,以备查询. 一.Windows 修改nginx的配置文件,nginx.conf. 1)nginx.conf文件,http下,默认打开的server只有一个,监听的是80端口: 1 http{ 2 XXXXX 3 server{ 4 listen 80; 5 XXXX 6 } 7 } 2)我们手动添加一个server(虚拟机),这样本地使用假数据来模拟请求json文件时,不会因为跨域而请求不到. 1

夺命雷公狗---linux NO:40 linux下nginx的反向代理的日志修正

我们如果只是纯粹使用了反向代理,那么服务器B的日志则会出现了问题: 我们服务器A是192.168.155  去访问了服务器B的/logo.png  ,这当然也没错,原理图如下所示: 但是我们往往都是需要知道是从客户端的真实IP,而不是服务器A发送来的IP,因为这样会更加方便运维和推广人员统计数据等... 首先我们改一下服务器A的配置文件: location ~ \.(jpg|jpeg|png|gif)$ { proxy_set_header X-Forwarded-For $remote_add

zhuan:ubuntu下安装Apache2+php+Mysql

from: http://www.cnblogs.com/lynch_world/archive/2012/01/06/2314717.html ubuntu下安装Apache+PHP+Mysql 转载自:http://www.comflag.com/2011/05/01/apache-web.htm 电影<社交网络>中,facebook创始人马克.扎克失恋后入侵哈佛大学宿舍楼服务器,窃取数据库资料,并在两个小时内完成了一个给校内女生评分的交互网站,该网站一天内点击数过10W,直接导致学校服务

linux下配置nginx反向代理例子

官方说明: 例子: 虚拟机ip:192.168.85.3,物理机VMware Network Adapter VMnet8  ip:192.168.85.1 1,准备tomcat 准备一tomcat,端口,8080 准备一Jsp,用于获取客户端真实IP和nginx IP ,test.jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UT

linux下实现nginx反向代理

正向代理架构图 反向代理架构图 反向代理服务器决定哪台服务器提供服务 Nginx实现反向代理 两个域名指向同一台nginx服务器,用户访问不同的域名显示不同的网页内容 准备两个tomcat服务器 修改8081的port *启动两个tomcat *配置域名的映射关系 *配置nginx.conf的配置文件, *保存完后重新加载配置后生效

Linux下Squid正向/反向代理配置

Squid是一个支持HTTP, HTTPS, FTP的web缓存代理,它能通过缓存和反复使用频繁访问的网页来减少带宽.提高响应速度.Squid被广泛用于访问控制和做前端加速,它能运行在大部分操作系统平台上,Squid能减少服务器的压力,提高客户端的响应速度,其高级的内容路由配置允许建立集群和负载均衡来处理各种WEB请求,3.2及之后的版本基本都已支持SMP和多CPU 应用场景: 1.正向代理 Squid被数以百计的网络提供商用来为他们的用户提供最好的网页访问,为了提升性能和常用内容来减少带宽sq