很多开发者拿到云服务器后,第一个要解决的问题就是部署PHP运行环境,用来运行各类PHP开发的网站或者后端接口。下面先给大家展示部署完成后的环境验证效果参考图。

一、部署前的准备工作
在开始部署之前,需要先确认云服务器的基础配置符合要求:
- 系统建议选择CentOS 7及以上或者Ubuntu 20.04及以上版本,本文示例以CentOS 7为例
- 确保云服务器已经开放80、443、9000等常用端口,避免后续访问或者PHP服务启动失败
- 提前通过SSH工具连接到云服务器,获取root权限操作
二、使用面板工具快速部署(适合新手)
如果不想手动处理复杂的编译安装步骤,可以直接使用成熟的服务器面板工具,一键部署PHP环境,操作非常简单。
步骤1:安装面板工具
以常用的宝塔面板为例,在终端执行以下命令安装:
# CentOS系统安装宝塔面板命令 yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh
安装完成后终端会输出面板的访问地址、账号和密码,复制地址到浏览器打开即可进入面板。
步骤2:一键安装PHP环境套件
进入面板后,在软件商店选择LNMP或者LAMP套件,勾选需要的PHP版本(建议选择PHP7.4或者PHP8.1,兼容性更好),然后点击一键安装,等待安装完成即可。
步骤3:验证环境是否生效
在面板的网站管理页面添加一个测试站点,在站点根目录创建info.php文件,内容如下:
<?php phpinfo(); ?>
访问服务器公网IP加上/info.php,能看到PHP的配置信息页面就说明环境部署成功。
三、手动部署LNMP架构(适合需要自定义配置的场景)
如果需要自定义Nginx、PHP的编译参数,或者不想使用第三方面板,可以选择手动部署LNMP架构,下面是详细步骤。
步骤1:安装Nginx
先安装Nginx的依赖包,然后编译安装Nginx:
# 安装依赖 yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel # 下载Nginx源码包 wget http://nginx.org/download/nginx-1.24.0.tar.gz # 解压 tar -zxvf nginx-1.24.0.tar.gz cd nginx-1.24.0 # 编译安装 ./configure --prefix=/usr/local/nginx --with-http_ssl_module make && make install # 启动Nginx /usr/local/nginx/sbin/nginx
步骤2:安装PHP和php-fpm
安装PHP依赖后编译安装PHP,同时开启php-fpm模块:
# 安装PHP依赖 yum install -y libxml2 libxml2-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel openldap openldap-devel # 下载PHP源码包 wget https://www.php.net/distributions/php-8.1.12.tar.gz # 解压 tar -zxvf php-8.1.12.tar.gz cd php-8.1.12 # 编译安装,开启fpm和常用扩展 ./configure --prefix=/usr/local/php --enable-fpm --with-mysqli --with-pdo-mysql --with-curl --with-gd --with-freetype --with-jpeg make && make install # 复制php-fpm配置文件 cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf # 启动php-fpm /usr/local/php/sbin/php-fpm
步骤3:配置Nginx支持PHP解析
修改Nginx的配置文件,添加PHP解析规则:
server {
listen 80;
server_name 你的服务器公网IP;
root /usr/local/nginx/html;
index index.php index.html;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}修改完成后重启Nginx,同样创建info.php文件验证环境是否生效。
四、常见部署问题解决方法
| 问题现象 | 解决方法 |
|---|---|
| 访问PHP文件显示下载而不是解析 | 检查Nginx的PHP解析配置是否正确,确认php-fpm是否正常运行,9000端口是否被占用 |
| php-fpm启动失败 | 查看/usr/local/php/var/log/php-fpm.log日志,通常是端口冲突或者配置文件语法错误,修改后重启即可 |
| 云服务器访问站点超时 | 检查云服务商的安全组规则,是否开放了80端口,同时检查服务器防火墙是否放行对应端口 |
以上就是云服务器部署PHP运行环境的两种常用方法,大家可以根据自己的需求选择合适的方案,部署完成后就可以上传PHP项目运行了。