Windows下Apache部署多个php项目

简介: 在 Windows 系统下,使用 Apache 服务器发布多个 PHP 项目是一项常见的任务。本文将介绍如何在 Windows 操作系统下使用 Apache 发布多个 PHP 项目。在 Windows 操作系统下使用 Apache 发布多个 PHP 项目可能有一些挑战,但是只要您按照本文的步骤进行操作,您就可以成功地完成这项任务。希望本文能够对您有所帮助。

一、安装 Apache

如果没有安装 Apache,可以参考我之前的文章 Windows用Apache发布php网站 进行安装;


二、准备好两个可运行的php项目

项目放到预发布的文件夹里,一会需要填写项目路径;


三、修改 httpd.conf 文件

接下来,您需要修改 Apache 的主配置文件 httpd.conf。具体步骤如下:

1. 增加监听端口

找到 Listen:60 (这是我的 Apache 端口);

在下面加入一个新的监听端口 Listen:61 (这是我要增加的第二个项目的 Apache 端口);

#
# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost># directive.
#
# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 60
Listen 61
#
# Dynamic Shared Object (DSO) Support
#

2. 增加虚拟主机(VirtualHost)

在 httpd.conf 文件中增加两个项目的虚拟主机,并配置项目地址。

具体配置如下:

# 第一个项目
<VirtualHost*:60>    DocumentRoot "C:\PHP_Project\www" <!--这里换成你的A项目目录-->    ServerName project1.local <!--服务名,用不到就随便填-->    ServerAlias a.test1.com <!--域名,用不到就随便填-->    ErrorLog "logs/project1_error.log" <!--日志地址-->    CustomLog "logs/project1_access.log" common <!--日志地址--><Directory"C:\PHP_Project\www"><!--这里换成你的A项目目录-->        Options Indexes FollowSymLinks
<!--对于php项目很关键,All表示开启url重写,方便未来做伪静态-->        AllowOverride All 
        Require all granted
</Directory></VirtualHost># 第二个项目
<VirtualHost*:61>    DocumentRoot "C:\PHP_Project\www1" <!--这里换成B项目目录-->    ServerName project2.local 
    ServerAlias a.test2.com 
    ErrorLog "logs/project2_error.log"
    CustomLog "logs/project2_access.log" common
<Directory"C:\PHP_Project\www1">        Options Indexes FollowSymLinks
        AllowOverride All 
        Require all granted
</Directory></VirtualHost>

替换掉原先的这一段:

DocumentRoot "C:\PHP_Project\www"
<Directory"C:\PHP_Project\www">    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All
    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

四、打开防火墙和安全组

打开防火墙端口拦截:[控制面板->系统与安全->防火墙->高级设置->出入站规则]里开放60、61端口,如果主机上无法直接改出入站规则,在云管理面板上一般可以修改。

打开安全组端口拦截:安全组在云管理面板上,修改时容易遗漏。


五、公网验证

我们客户端浏览器输入ip:port可以访问,就说明我们发布成功,60、61分别部署的项目都可以各自访问了,至此,Windows下Apache部署多个php项目的配置完成。

目录
相关文章
|
2月前
|
数据处理 Apache 数据库
将 Python UDF 部署到 Apache IoTDB 的详细步骤与注意事项
【10月更文挑战第21天】将 Python UDF 部署到 Apache IoTDB 中需要一系列的步骤和注意事项。通过仔细的准备、正确的部署和测试,你可以成功地将自定义的 Python UDF 应用到 Apache IoTDB 中,为数据处理和分析提供更灵活和强大的支持。在实际操作过程中,要根据具体情况进行调整和优化,以确保实现最佳的效果。还可以结合具体的代码示例和实际部署经验,进一步深入了解和掌握这一过程。
31 2
|
2月前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
|
2月前
|
Java 关系型数据库 MySQL
java控制Windows进程,服务管理器项目
本文介绍了如何使用Java的`Runtime`和`Process`类来控制Windows进程,包括执行命令、读取进程输出和错误流以及等待进程完成,并提供了一个简单的服务管理器项目示例。
42 1
|
3月前
|
Windows
Windows操作系统部署安装Kerberos客户端
详细介绍了在Windows操作系统上部署安装Kerberos客户端的完整过程,包括下载安装包、安装步骤、自定义安装路径、修改环境变量、配置hosts文件和Kerberos配置文件,以及安装后的验证步骤。
416 3
Windows操作系统部署安装Kerberos客户端
|
3月前
|
Linux Apache 数据安全/隐私保护
kali向Apache上部署网页
kali向Apache上部署网页
122 5
|
4月前
|
开发框架 JavaScript .NET
【Azure 应用服务】Azure Mobile App (NodeJS) 的服务端部署在App Service for Windows中出现404 Not Found
【Azure 应用服务】Azure Mobile App (NodeJS) 的服务端部署在App Service for Windows中出现404 Not Found
|
4月前
|
存储 安全 网络安全
【Azure 环境】使用Azure中的App Service部署Web应用,以Windows为主机系统是否可以启动防病毒,防恶意软件服务呢(Microsoft Antimalware)?
【Azure 环境】使用Azure中的App Service部署Web应用,以Windows为主机系统是否可以启动防病毒,防恶意软件服务呢(Microsoft Antimalware)?
|
4月前
|
Python Windows
【Azure 应用服务】App Service For Windows 环境中部署Python站点后,如何继续访问静态资源文件呢(Serving Static Files)?
【Azure 应用服务】App Service For Windows 环境中部署Python站点后,如何继续访问静态资源文件呢(Serving Static Files)?
|
4月前
|
负载均衡 网络协议 安全
【Azure 应用服务】Azure Web App的服务(基于Windows 操作系统部署)在被安全漏洞扫描时发现了TCP timestamps漏洞
【Azure 应用服务】Azure Web App的服务(基于Windows 操作系统部署)在被安全漏洞扫描时发现了TCP timestamps漏洞

推荐镜像

更多