前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IIS服务器发布PHP网站

IIS服务器发布PHP网站

作者头像
Damon小智
发布2024-02-03 10:20:58
1450
发布2024-02-03 10:20:58
举报
文章被收录于专栏:全栈文档库全栈文档库

IIS服务器,相信开发者都不会陌生,它的英文全称是Internet Information Services,是由微软公司提供的基于运行Microsoft Windows的互联网基本服务,常用于Windows系统的Web项目部署,本篇以PHP项目为例,讲解如何使用IIS完成PHP项目的发布。

一、安装PHP

下载地址:http://php.net/downloads.php下载最新版本

apache017 - IIS服务器发布PHP网站
apache017 - IIS服务器发布PHP网站

下载Thread Safe版本

apache018 - IIS服务器发布PHP网站
apache018 - IIS服务器发布PHP网站

这里插一句,之前没有安装过VC15拓展包的同学要再安装一下拓展包

apache019 1024x626 - IIS服务器发布PHP网站
apache019 1024x626 - IIS服务器发布PHP网站

下载完直接运行,整个步骤不需要任何手动设置,就不再赘述。

在服务器C盘里新建一个文件夹,命名php,把下载的压缩包解压到php文件夹里, 并在php文件夹里再新建一个www文件夹。

apache020 - IIS服务器发布PHP网站
apache020 - IIS服务器发布PHP网站

将 PHP 的根目录下的php.ini-production复制一份并改名为 php.ini,作为PHP的配置文件;

二、PHP配置设置

编辑php.ini,里面有很多配置要修改

1.修改扩展文件的路径

apache021 - IIS服务器发布PHP网站
apache021 - IIS服务器发布PHP网站

把 ;extension_dir = “ext” 前面的分号去掉,然后引号里改成ext文件夹的绝对路径。

2. 修改需要加载的扩展文件,取消部分扩展程序的注释(注释就是分号)

找到扩展程序的部分

apache022 - IIS服务器发布PHP网站
apache022 - IIS服务器发布PHP网站

修改后如下:

apache023 - IIS服务器发布PHP网站
apache023 - IIS服务器发布PHP网站

3. 设置默认的时区

找到这个部分:

apache024 - IIS服务器发布PHP网站
apache024 - IIS服务器发布PHP网站

修改问Asia/Shanghai,如图

apache025 - IIS服务器发布PHP网站
apache025 - IIS服务器发布PHP网站

4. 设置 ssl

找到这个部分(我的是在文件末尾)

apache026 - IIS服务器发布PHP网站
apache026 - IIS服务器发布PHP网站

修改为cacert.pem,如图:

apache027 - IIS服务器发布PHP网站
apache027 - IIS服务器发布PHP网站

5. 开启php短标签

找到; short_open_tag

apache028 - IIS服务器发布PHP网站
apache028 - IIS服务器发布PHP网站

去掉注释,改为short_open_tag = on

apache029 - IIS服务器发布PHP网站
apache029 - IIS服务器发布PHP网站

6. 以CGI模式运行PHP

找到; cgi.force_redirect = 1

apache030 - IIS服务器发布PHP网站
apache030 - IIS服务器发布PHP网站

取消注释,改为cgi.force_redirect = 0

apache031 - IIS服务器发布PHP网站
apache031 - IIS服务器发布PHP网站

7. 找到; fastcgi.impersonate = 1,取消注释

apache032 - IIS服务器发布PHP网站
apache032 - IIS服务器发布PHP网站

取消后如图:

apache033 - IIS服务器发布PHP网站
apache033 - IIS服务器发布PHP网站

8. 就在fastcgi的下面,取消; cgi.rfc2616_headers = 1的注释

apache034 - IIS服务器发布PHP网站
apache034 - IIS服务器发布PHP网站

取消后如图:

apache035 - IIS服务器发布PHP网站
apache035 - IIS服务器发布PHP网站

我们把修改好的php.ini文件复制一份,放到C盘的windows文件夹下

apache036 - IIS服务器发布PHP网站
apache036 - IIS服务器发布PHP网站

三、配置IIS的PHP部署环境

服务器管理器 => IIS => 添加角色和功能 => 安装CGI

apache045 - IIS服务器发布PHP网站
apache045 - IIS服务器发布PHP网站
apache046 - IIS服务器发布PHP网站
apache046 - IIS服务器发布PHP网站

进入IIS管理器

apache047 - IIS服务器发布PHP网站
apache047 - IIS服务器发布PHP网站

进入后依次配置处理程序映射、FastCGI设置、默认文档、身份验证。

apache048 - IIS服务器发布PHP网站
apache048 - IIS服务器发布PHP网站

1. 处理程序映射

进入功能,点击添加模块映射

apache049 1024x593 - IIS服务器发布PHP网站
apache049 1024x593 - IIS服务器发布PHP网站

照我下面的输入

apache050 - IIS服务器发布PHP网站
apache050 - IIS服务器发布PHP网站

点击确定

2. FastCGI设置

编辑我们刚刚设置的php-cgi.exe

apache051 - IIS服务器发布PHP网站
apache051 - IIS服务器发布PHP网站

修改【监视对文件所做的修改】为php.ini的绝对路径

apache052 - IIS服务器发布PHP网站
apache052 - IIS服务器发布PHP网站

再修改【环境变量】,添加PHP_FCGI_MAX_REQUESTS和1000如图

apache053 - IIS服务器发布PHP网站
apache053 - IIS服务器发布PHP网站

3. 修改默认文档

添加index.php

apache054 - IIS服务器发布PHP网站
apache054 - IIS服务器发布PHP网站

4. 修改身份验证

修改匿名用户标识为:应用程序池标识

php 054 - IIS服务器发布PHP网站
php 054 - IIS服务器发布PHP网站

四、打开服务器的防火墙、控制台的安全组

1. 打开防火墙60端口

新建入站规则 => 端口 => 60 => 一直下一步(规则命名随意)

apache056 - IIS服务器发布PHP网站
apache056 - IIS服务器发布PHP网站
apache057 - IIS服务器发布PHP网站
apache057 - IIS服务器发布PHP网站
apache058 - IIS服务器发布PHP网站
apache058 - IIS服务器发布PHP网站

后面一直下一步,最后名字和备注随便写,我写的是phpweb备注60。

2. 打开腾讯云控制台,进入安全组,开放60端口

进入控制台,找到安全组,找到对应的服务器实例,点击修改规则,在【放通Web服务端口】那一行里添加60(注意用逗号隔开),保存。

apache059 - IIS服务器发布PHP网站
apache059 - IIS服务器发布PHP网站

五、测试访问PHP项目

至此,腾讯云的PHP项目运行环境已经部署完成,我们用本地机器试一下,输入公网IP:60

apache060 - IIS服务器发布PHP网站
apache060 - IIS服务器发布PHP网站

成功访问,配置圆满完成!

Damon_Liu

Damon, Chinese, Liu Guangzhi, Software development engineer, CSDN quality creator, Ali Cloud expert blogger, Microsoft Technology Associate, Good at C#, Java, PHP, Python, etc, Love sports, Workaholic, Communist.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-6,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档