在 Ubuntu 上搭建 ThinkPHP 运行环境,一般包含:Web 服务器(Nginx/Apache)+ PHP + 数据库(MySQL)+ Composer。下面以 Ubuntu 20.04/22.04 + Nginx + PHP 8.1 + MySQL + ThinkPHP 6/8 为例说明。
sudo apt update
sudo apt upgrade -y
sudo apt install nginx -y
测试:
systemctl status nginx
浏览器访问服务器 IP,看到 Nginx 欢迎页即成功。
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install php8.1 php8.1-fpm php8.1-mysql php8.1-mbstring php8.1-xml php8.1-curl php8.1-zip php8.1-gd -y
查看 PHP 版本:
php -v
sudo apt install mysql-server -y
sudo mysql_secure_installation
创建数据库(示例):
sudo mysql -u root -p
CREATE DATABASE tp DEFAULT CHARACTER SET utf8mb4;
CREATE USER 'tpuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON tp.* TO 'tpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer -V
cd /var/www
composer create-project topthink/think tpapp
设置权限:
sudo chown -R www-data:www-data /var/www/tpapp
sudo chmod -R 755 /var/www/tpapp
新建配置文件:
sudo nano /etc/nginx/sites-available/tpapp
内容示例(ThinkPHP 6/8):
server {
listen 80;
server_name your_domain_or_ip;
root /var/www/tpapp/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/php8.1-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
启用站点:
sudo ln -s /etc/nginx/sites-available/tpapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
编辑:
nano /var/www/tpapp/.env
示例:
APP_DEBUG = true
DB_TYPE = mysql
DB_HOST = 127.0.0.1
DB_NAME = tp
DB_USER = tpuser
DB_PASS = password
DB_PORT = 3306
浏览器访问:
http://服务器IP
看到 ThinkPHP 欢迎页面即搭建成功。
sudo chmod -R 777 /var/www/tpapp/runtime
确认 Nginx try_files 配置正确。
sudo apt install apache2 libapache2-mod-php8.1
并开启 mod_rewrite。
如果你需要 Ubuntu + Apache、Docker 方式 或 ThinkPHP 5,我也可以给你对应教程。