1. 准备CentOS服务器环境
在CentOS上部署PHPStorm项目前,需先安装Web服务器(Nginx/Apache)、PHP及数据库(如MySQL)等基础环境。以Nginx+PHP-FPM为例,步骤如下:
sudo yum update -y && sudo yum install -y epel-release wget gcc-c++ makesudo yum install -y nginx,启动并设置开机自启:sudo systemctl start nginx && sudo systemctl enable nginxsudo yum install -y php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-xml,启动PHP-FPM:sudo systemctl start php-fpm && sudo systemctl enable php-fpmsudo yum install -y mariadb-server mariadb,初始化并设置root密码:sudo systemctl start mariadb && sudo mysql_secure_installation。2. 配置Web服务器虚拟主机
为了让Nginx识别并处理PHP项目,需创建虚拟主机配置文件:
example.com为例):sudo vim /etc/nginx/conf.d/example.com.confroot指向项目根目录,fastcgi_pass连接PHP-FPM的socket文件):server {
listen 80;
server_name example.com; # 替换为你的域名或服务器IP
root /var/www/example.com/public; # 项目根目录(需包含index.php)
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string; # Laravel等框架需此配置
}
location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock; # PHP-FPM默认socket路径
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all; # 禁止访问隐藏文件(如.git)
}
}
sudo nginx -t,若无错误则重启服务:sudo systemctl restart nginx。3. 在PHPStorm中配置远程服务器
打开PHPStorm,通过以下步骤建立与CentOS服务器的连接:
File > Settings > Build, Execution, Deployment > Deployment,点击+添加新服务器,选择协议(如SFTP)。CentOS-Example)、SFTP主机(CentOS服务器IP)、端口(默认22)、用户名(如root或普通用户)、认证方式(密码或密钥)。D:\projects\example)→ 远程服务器路径(如/var/www/example.com)。Test Connection验证连接,成功后保存配置。4. 配置PHP解释器与调试(可选)
File > Settings > Languages & Frameworks > PHP,点击+选择SSH Interpreter,选择之前配置的服务器,指定PHP路径(如/usr/bin/php),点击Finish。sudo yum install -y php-xdebug。/etc/php.ini,添加以下配置(替换your_local_ip为本地计算机IP):zend_extension=/usr/lib64/php/modules/xdebug.so
xdebug.mode=debug
xdebug.client_host=your_local_ip
xdebug.client_port=9003
xdebug.start_with_request=yes
sudo systemctl restart php-fpm。Run > Edit Configurations,添加PHP Web Page,选择服务器,设置Start URL(如http://example.com),保存后即可启动调试。5. 部署项目到服务器
Deployment > Upload to > CentOS-Example,选择需上传的文件或文件夹,点击OK。Deployment配置中,勾选Tools > Deployment > Automatic Upload,或使用Git实现自动化:
sudo mkdir -p /www/git/repo.git && cd /www/git/repo.git && sudo git init --bare。git remote add origin ssh://root@example.com/www/git/repo.git,推送代码:git push origin master。sudo git clone /www/git/repo.git /var/www/example.com。6. 验证项目运行
sudo firewall-cmd --permanent --zone=public --add-service=http && sudo firewall-cmd --reload。http://example.com(或服务器IP),若看到项目首页则部署成功。sudo certbot --nginx -d example.com,按提示完成配置。