在Linux上部署ThinkPHP框架可以按照以下步骤进行:
首先,你需要一个Web服务器来运行ThinkPHP。常用的Web服务器有Apache和Nginx。
sudo apt update
sudo apt install apache2
sudo apt update
sudo apt install nginx
ThinkPHP需要PHP环境。你可以使用以下命令安装PHP及其常用扩展:
sudo apt update
sudo apt install php php-cli php-fpm php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
编辑Apache配置文件:
sudo nano /etc/apache2/sites-available/000-default.conf
添加以下内容:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
启用站点:
sudo a2ensite 000-default.conf
sudo systemctl restart apache2
编辑Nginx配置文件:
sudo nano /etc/nginx/sites-available/default
添加以下内容:
server {
listen 80;
server_name your_domain_or_ip;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本调整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
重启Nginx:
sudo systemctl restart nginx
你可以从ThinkPHP官网下载最新版本的ThinkPHP,或者使用Composer进行安装。
cd /var/www/html
composer create-project topthink/think=latest your_project_name
cd /var/www/html
wget https://download.topthink.com/thinkphp/6.0.x/thinkphp_6.0.x.zip
unzip thinkphp_6.0.x.zip
mv thinkphp your_project_name
进入项目目录并配置数据库连接等信息:
cd /var/www/html/your_project_name
nano config/database.php
根据你的数据库配置进行修改。
使用PHP内置服务器运行项目(仅用于测试):
cd /var/www/html/your_project_name
php run start
你可以使用systemd设置项目自动启动。
创建一个systemd服务文件:
sudo nano /etc/systemd/system/your_project_name.service
添加以下内容:
[Unit]
Description=Your ThinkPHP Project
After=network.target
[Service]
User=www-data
Group=www-data
WorkingDirectory=/var/www/html/your_project_name
ExecStart=/usr/bin/php /var/www/html/your_project_name/artisan serve --port 80
Restart=always
[Install]
WantedBy=multi-user.target
启用并启动服务:
sudo systemctl enable your_project_name
sudo systemctl start your_project_name
如果你使用的是UFW防火墙,可以允许HTTP和HTTPS流量:
sudo ufw allow 'Apache Full'
完成以上步骤后,你的ThinkPHP项目应该已经在Linux服务器上成功部署并运行了。