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++ make
sudo yum install -y nginx
,启动并设置开机自启:sudo systemctl start nginx && sudo systemctl enable nginx
sudo 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-fpm
sudo 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.conf
root
指向项目根目录,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
,按提示完成配置。