在VPS上部署PHP应用程序:分步指南

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

引言



在虚拟专用服务器(VPS)上部署PHP应用程序是从本地开发过渡到生产环境的关键阶段。与共享主机不同,VPS提供对运行环境的完全控制,这对于现代框架(Laravel, Symfony)和高负载项目至关重要。



在本指南中,我们将详细讲解在Ubuntu 22.04 VPS上部署PHP应用程序的完整流程。您将学习如何配置服务器、安装必要组件以及自动化部署过程。所有代码示例均可直接使用。



1. VPS准备与初始配置



1.1. 连接到服务器



购买VPS后,您将获得IP地址、登录名(通常为root)和密码。通过SSH连接:



ssh root@您的IP地址


如果您使用SSH密钥(推荐),请将您的公钥添加到服务器。



1.2. 系统更新与创建用户



更新软件包并创建一个非特权用户用于工作:



apt update && apt upgrade -yadduser deployerusermod -aG sudo deployer


现在使用新用户连接:



ssh deployer@您的IP地址


1.3. 配置防火墙



使用UFW进行基本防护:



sudo ufw allow OpenSSHsudo ufw allow 'Nginx Full'sudo ufw enablesudo ufw status


2. 安装LEMP环境(Linux, Nginx, MySQL, PHP)



2.1. 安装Nginx



sudo apt install nginx -ysudo systemctl start nginxsudo systemctl enable nginx


在浏览器中打开 http://您的IP地址 检查运行情况。您应该看到Nginx欢迎页面。



2.2. 安装PHP和PHP-FPM



对于现代框架,请使用PHP 8.x:



sudo apt install php8.1-fpm php8.1-mysql php8.1-xml php8.1-mbstring php8.1-curl php8.1-zip php8.1-gd -y


检查版本并启动PHP-FPM:



php -vsudo systemctl start php8.1-fpmsudo systemctl enable php8.1-fpm


2.3. 安装MySQL



sudo apt install mysql-server -ysudo mysql_secure_installation


为您的应用程序创建数据库:



sudo mysql -u root -pCREATE DATABASE your_database_name;CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password';GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_user'@'localhost';FLUSH PRIVILEGES;EXIT;


3. 配置虚拟主机与部署应用程序



3.1. 创建Nginx虚拟主机



为您的域名创建配置文件:



sudo nano /etc/nginx/sites-available/yourdomain.com


插入以下配置(根据您的项目进行调整):



server {    listen 80;    server_name yourdomain.com www.yourdomain.com;    root /var/www/yourdomain.com/public;

index index.php index.html;

location / { try_files $uri $uri/ /index.php?$query_string; }

location ~ \\.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; }

location ~ /\\.ht { deny all; }}


激活网站:



sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/sudo nginx -tsudo systemctl reload nginx


3.2. 通过Git部署代码



安装Git并克隆仓库:



sudo apt install git -ycd /var/wwwsudo git clone https://github.com/yourusername/your-repo.git yourdomain.com


配置权限:



sudo chown -R www-data:www-data /var/www/yourdomain.comsudo chmod -R 755 /var/www/yourdomain.com/storagesudo chmod -R 755 /var/www/yourdomain.com/b

博客

书籍推荐