Linux下ThinkPHP部署步骤
导读:Linux下ThinkPHP部署步骤 1. 准备基础环境 部署前需安装PHP、Web服务器(Nginx/Apache)、Composer及数据库(MySQL/PostgreSQL)。 安装PHP:选择7.4及以上版本,确保开启PDO、Op...
Linux下ThinkPHP部署步骤
1. 准备基础环境
部署前需安装PHP、Web服务器(Nginx/Apache)、Composer及数据库(MySQL/PostgreSQL)。
- 安装PHP:选择7.4及以上版本,确保开启PDO、OpenSSL、Mbstring、XML、Curl等扩展(如Ubuntu使用
sudo apt install php php-cli php-fpm php-mysql php-mbstring php-xml php-curl
,CentOS使用sudo yum install php php-fpm php-mysqlnd php-mbstring php-xml php-curl
)。 - 安装Web服务器:Nginx推荐用于高性能场景,Apache适合传统应用。以Ubuntu安装Nginx为例,执行
sudo apt install nginx
。 - 安装Composer:用于依赖管理,执行
curl -sS https://getcomposer.org/installer | php
,然后将composer.phar
移动至/usr/local/bin/composer
。 - 安装数据库:以MySQL为例,执行
sudo apt install mysql-server
,初始化后设置root密码。
2. 上传并放置项目代码
将本地ThinkPHP项目上传至Linux服务器,推荐存放至/var/www/html/your_project
(需替换为实际项目名)。上传方式可选:
- SCP/FTP:使用
scp
命令(如scp -r local_project.zip user@server_ip:/var/www/html/
)或FileZilla等工具。 - Git克隆:若项目托管在Git仓库,执行
git clone repository_url /var/www/html/your_project
。
上传后解压(若为压缩包),并进入项目目录。
3. 安装项目依赖
进入项目根目录,执行composer install
,自动安装composer.json
中定义的依赖包(如ThinkPHP核心组件、数据库驱动等)。安装完成后,会生成vendor
目录。
4. 配置Web服务器
Nginx配置(推荐)
- 创建站点配置文件:
sudo nano /etc/nginx/sites-available/your_project
,添加以下内容(替换your_domain
和项目路径):server { listen 80; server_name your_domain.com; root /var/www/html/your_project/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:/run/php/php7.4-fpm.sock; # 根据PHP版本调整 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } }
- 启用站点:
sudo ln -s /etc/nginx/sites-available/your_project /etc/nginx/sites-enabled/
。 - 测试配置并重启:
sudo nginx -t
(检查语法),sudo systemctl restart nginx
。
Apache配置(可选)
- 启用
mod_rewrite
模块:sudo a2enmod rewrite
。 - 修改站点配置(如
/etc/apache2/sites-available/000-default.conf
),将DocumentRoot
指向项目public
目录,并添加AllowOverride All
以支持.htaccess重写。 - 重启Apache:
sudo systemctl restart apache2
。
5. 配置数据库连接
编辑项目根目录下的.env
文件(若不存在则复制config/.env.example
),修改数据库连接信息:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_database_user
DB_PASSWORD=your_database_password
然后创建数据库(如mysql -u root -p -e "CREATE DATABASE your_database_name;
"
),并导入表结构(若有SQL文件)。
6. 设置目录权限
确保Web服务器用户(如www-data
)对项目目录有读写权限:
sudo chown -R www-data:www-data /var/www/html/your_project
sudo chmod -R 755 /var/www/html/your_project
sudo chmod -R 775 /var/www/html/your_project/runtime # runtime目录需可写
注意:避免使用777
权限,以防安全风险。
7. 启动服务并测试访问
- 启动Web服务器(Nginx:
sudo systemctl start nginx
;Apache:sudo systemctl start apache2
)。 - 测试访问:在浏览器输入
http://your_domain.com
(或服务器IP),若看到ThinkPHP欢迎页面,说明部署成功。
8. 安全与优化(可选但推荐)
- 关闭调试模式:修改
config/app.php
,将app_debug
设为false
,避免泄露敏感信息。 - 启用HTTPS:使用Let’s Encrypt免费证书,执行
sudo apt install certbot python3-certbot-nginx
(Nginx),然后sudo certbot --nginx -d your_domain.com
,按提示完成配置。 - 开启OPcache:修改
php.ini
,开启opcache.enable=1
,提升PHP执行效率。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux下ThinkPHP部署步骤
本文地址: https://pptw.com/jishu/730676.html