在 Ubuntu 下部署 ThinkPHP 项目,你可以遵循以下步骤:
安装 Web 服务器(如 Nginx 或 Apache):
对于 Nginx,在终端中运行以下命令安装:
sudo apt update
sudo apt install nginx
对于 Apache,在终端中运行以下命令安装:
sudo apt update
sudo apt install apache2
安装 PHP 和必要的 PHP 扩展:
在终端中运行以下命令安装 PHP 及其扩展:
sudo apt update
sudo apt install php php-fpm php-mysql php-curl php-json php-gd php-mbstring php-xml php-zip
配置 Web 服务器:
对于 Nginx,创建一个新的配置文件,例如 /etc/nginx/sites-available/your_project
,并添加以下内容(根据你的项目路径和域名进行修改):
server {
listen 80;
server_name your_domain.com;
root /path/to/your_project;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
然后创建一个符号链接,将配置文件链接到 sites-enabled
目录:
sudo ln -s /etc/nginx/sites-available/your_project /etc/nginx/sites-enabled/
最后,重启 Nginx 服务:
sudo systemctl restart nginx
对于 Apache,启用 mod_rewrite
模块并创建一个新的配置文件,例如 /etc/apache2/sites-available/your_project.conf
,并添加以下内容(根据你的项目路径和域名进行修改):
<VirtualHost *:80>
ServerName your_domain.com
DocumentRoot /path/to/your_project
<Directory /path/to/your_project>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
然后启用新的配置文件:
sudo a2ensite your_project.conf
最后,重启 Apache 服务:
sudo systemctl restart apache2
将 ThinkPHP 项目上传到服务器:
使用 FTP 或 SCP 等工具将你的 ThinkPHP 项目上传到服务器上的指定目录(例如 /var/www/your_project
)。
设置文件和目录权限:
在项目目录中运行以下命令,以确保 Web 服务器可以访问和执行项目文件:
sudo chown -R www-data:www-data /path/to/your_project
sudo chmod -R 755 /path/to/your_project
配置数据库:
根据你的项目需求,创建一个新的数据库,并将数据库信息配置到项目的 .env
文件中。
运行项目:
在项目目录中运行以下命令,启动内置的 PHP 服务器进行测试:
php run start
然后在浏览器中访问你的域名,查看项目是否正常运行。
注意:在生产环境中,建议使用 PHP 官方推荐的 Web 服务器(如 Nginx 或 Apache)部署 ThinkPHP 项目,而不是使用内置的 PHP 服务器。