ubuntu下thinkphp如何快速部署
导读:Ubuntu下ThinkPHP快速部署步骤 1. 准备服务器环境 在Ubuntu上部署ThinkPHP前,需安装PHP、Web服务器(Nginx/Apache)、Composer及数据库(如MySQL)。推荐使用Nginx+PHP-FPM组...
Ubuntu下ThinkPHP快速部署步骤
1. 准备服务器环境
在Ubuntu上部署ThinkPHP前,需安装PHP、Web服务器(Nginx/Apache)、Composer及数据库(如MySQL)。推荐使用Nginx+PHP-FPM组合,性能更优。
- 更新系统包:
sudo apt update & & sudo apt upgrade -y
- 安装PHP及扩展(ThinkPHP需PHP 7.4+,确保开启PDO、OpenSSL、MBstring等扩展):
sudo apt install php php-cli php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
- 安装Nginx:
sudo apt install nginx -y sudo systemctl start nginx & & sudo systemctl enable nginx
- 安装Composer(依赖管理工具):
curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer
2. 上传并放置ThinkPHP项目
将本地ThinkPHP项目上传至服务器(如/var/www/html/your_project
),推荐使用scp
或Git克隆:
# 使用scp上传(本地项目路径为~/project,服务器路径为/var/www/html/your_project)
scp -r ~/project/* ubuntu@your_server_ip:/var/www/html/your_project/
# 或通过Git克隆(若有项目仓库)
git clone https://github.com/your_repo/your_project.git /var/www/html/your_project
关键要求:项目必须包含public
目录(入口文件index.php
所在目录),后续需将其设为Web根目录。
3. 安装项目依赖并设置权限
进入项目目录,通过Composer安装依赖,并设置runtime
目录(存储缓存、日志等)的可写权限:
cd /var/www/html/your_project
composer install --no-dev --optimize-autoloader # 生产环境忽略开发依赖
sudo chown -R www-data:www-data /var/www/html/your_project # 更改所有者(www-data为Nginx默认用户)
sudo chmod -R 755 runtime # 设置runtime目录可写
4. 配置Nginx虚拟主机
创建Nginx配置文件,使请求指向public
目录,并配置URL重写(隐藏index.php
)。
- 创建配置文件(如
your_project
):sudo nano /etc/nginx/sites-available/your_project
- 粘贴以下内容(修改
server_name
为你的域名/IP,root
为项目public
目录路径):server { listen 80; server_name your_domain_or_ip; # 替换为实际域名或IP root /var/www/html/your_project/public; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; # 隐藏index.php的关键配置 } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; # 根据PHP版本调整(如php8.1-fpm.sock) fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # 可选:禁止访问敏感文件 location ~ /\.(?!well-known).* { deny all; } }
- 启用配置:
sudo ln -s /etc/nginx/sites-available/your_project /etc/nginx/sites-enabled/ sudo nginx -t # 测试配置语法(无错误则继续) sudo systemctl restart nginx # 重启Nginx
5. 配置ThinkPHP环境
- 修改数据库连接:编辑项目根目录下的
.env
文件(若无则复制config/.env.example
),填写数据库信息:DB_TYPE=mysql DB_HOST=127.0.0.1 DB_NAME=your_database_name DB_USER=your_database_user DB_PASSWORD=your_database_password DB_PORT=3306
- 关闭调试模式(生产环境必做):编辑
config/app.php
,设置:'app_debug' => false, 'app_trace' => false,
6. 完成部署与测试
- 启动PHP服务(若未自动启动):
sudo systemctl start php7.4-fpm & & sudo systemctl enable php7.4-fpm
- 测试访问:在浏览器输入服务器IP或域名,若看到ThinkPHP欢迎页面,则部署成功。
常见问题排查
- 502 Bad Gateway:检查PHP-FPM是否运行(
sudo systemctl status php7.4-fpm
),确认Nginx配置中的fastcgi_pass
路径正确。 - 路由失效:确保Nginx配置中
try_files
规则正确(指向index.php
),且location /
块未被覆盖。 - 权限问题:若出现“Permission denied”,重新检查
chown
和chmod
命令是否执行正确。
通过以上步骤,即可在Ubuntu上快速部署ThinkPHP项目。生产环境建议进一步配置HTTPS(如使用Let’s Encrypt证书)、缓存(如Redis)等优化措施。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu下thinkphp如何快速部署
本文地址: https://pptw.com/jishu/722246.html