阿里云百科分享使用lay服务器搭建ThinkPHP全流程,ThinkPHP是一款免费、开源、快速、简单、面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,是为了敏捷Web应用开发和简化企业应用开发而诞生的。本篇教程介绍如何使用云市场镜像快速搭建ThinkPHP框架。
目录
前提条件
步骤一:购买ThinkPHP框架镜像
步骤二:上传应用程序
步骤三:切换PHP脚本适应程序
步骤四:开启pathinfo
步骤五:绑定域名
常见问题:如何解决301重定向问题?
前提条件
- 已注册阿里云账号。如还未注册,请先完成账号注册。
- 已在安全组中添加安全组规则并放行21/21、3306/3306、30000/30010、8081/8081及1777/1777端口。具体操作请参见添加安全组规则。
- ECS云服务器:aliyunbaike.com/go/ecs
步骤一:购买ThinkPHP框架镜像
完成以下操作,购买ThinkPHP框架镜像:
- 单击ThinkPHP框架(含智慧云虚机面板)进入镜像详情页。
您可以在镜像详情页获取镜像信息和使用指南。
- 单击立即购买。
- 在自定义购买页,镜像区域已自动设置为您购买的镜像。根据页面提示,完成配置项并购买ECS实例。配置时需注意:
- 为实例分配公网IPv4地址。
- 选择前提条件中已配置的安全组。
- 其他配置您可以按需选择。具体操作请参见使用向导创建实例。
- 获取ECS实例的公网IP地址。
- 登录ECS管理控制台
- 在左侧导航栏,选择实例与镜像 > 实例。
- 在顶部菜单栏处,选择目标ECS实例所在地域。
- 找到目标ECS实例,在IP 地址列获取该实例的公网IP地址。
- 在浏览器地址栏中输入公网IP地址并回车。
- 在提示页面,单击获取权限,下载权限文档zhcloud-readme.doc。
权限文档中包含了智慧云虚机面板权限(host)、FTP权限和MySQL数据库权限,请妥善保存。
步骤二:上传应用程序
如果您已经通过ThinkPHP框架完成了自己的应用程序,可以通过FTP上传您的程序。操作步骤如下:
- 下载FTP工具。
本篇教程以FileZilla FTP为例,下载FileZilla客户端。
- 下载FileZilla后,双击filezilla.exe,开始按软件提示安装FileZilla FTP。
- 启动FileZilla FTP,在主机、用户名和密码处分别输入FTP IP地址、FTP账号和FTP密码。
相关信息,请参见权限文档zhcloud-readme.doc。
- 单击快速连接,开始连接FTP。
- 将您已经写好的应用程序拉到右边区域即可实现上传。
步骤三:切换PHP脚本适应程序
由于PHP的版本不同所支持的PHP函数也不尽相同。若您的程序对PHP版本有严格要求,您可以通过脚本切换来切换到您需要的PHP版本。若没有严格要求,可跳过此步骤。
- 登录到阿里云服务器。登录信息,请参见权限文档zhcloud-readme.doc。
host url
:智慧云虚机面板的登录地址。host account
:智慧云虚机面板的登录账号。host password
:智慧云虚机面板的登录密码。
登录成功后,如下图所示。
- 单击脚本切换,选择您需要的PHP版本,单击确定。
步骤四:开启pathinfo
使用ThinkPHP框架写的程序一般会用到pathinfo。若您需要开启pathinfo,请按如下步骤操作:
- 登录阿里云服务器
- 单击PATH_INFO,选择您的站点,单击开启按钮。
步骤五:绑定域名
如果您已经完成了域名备案,您可以在智慧云虚机面板上绑定您的域名。
- 登录阿里云服务器
- 单击域名绑定,输入您的域名即可绑定。
如果您想禁止IP访问,删除含有IP地址的这条记录即可。
常见问题:如何解决301重定向问题?
完成以下操作,在智慧云虚机面板写入301重定向的Nginx规则:
- 登录阿里云服务器
- 单击自定义伪静态 > 自定义,写入301重定向的Nginx规则,单击保存。 下面以域名
axiaoyun.com
为例写入301重定向的Nginx规则。- 方法A:不使用
www.
axiaoyun.com
域名访问网站时都301重定向到www.
axiaoyun.com
。if ($host != 'www.axiaoyun.com' ) { rewrite ^/(.*)$ http://www.axiaoyun.com/$1 permanent; }
- 方法B:使用
axiaoyun.com
域名访问网站时才301重定向到www.
axiaoyun.com
。if ($host = 'axiaoyun.com' ) { rewrite ^/(.*)$ http://www.axiaoyun.com/$1 permanent; }
说明 实际使用时,将以上代码中的域名替换为您自己的域名。
- 方法A:不使用