温馨提示×

ubuntu怎样搭建thinkphp环境

小樊
42
2026-09-25 20:18:04
栏目: 编程语言

在 Ubuntu 上搭建 ThinkPHP 运行环境,通常包括:Web 服务器(Nginx/Apache)+ PHP + 数据库(MySQL)+ Composer。下面以 Ubuntu 20.04/22.04 + Nginx + PHP 8.1 + MySQL + ThinkPHP 6 为例说明。


一、更新系统

sudo apt update
sudo apt upgrade -y

二、安装 Nginx

sudo apt install nginx -y

测试:

systemctl status nginx

浏览器访问服务器 IP,看到 Nginx 欢迎页即成功。


三、安装 PHP(以 PHP 8.1 为例)

sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php
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

四、安装 MySQL

sudo apt install mysql-server -y
sudo mysql_secure_installation

创建数据库(示例):

sudo mysql -u root -p
CREATE DATABASE thinkphp DEFAULT CHARACTER SET utf8mb4;
CREATE USER 'tpuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON thinkphp.* TO 'tpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

五、安装 Composer

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer --version

六、安装 ThinkPHP

方式一:Composer 创建项目(推荐)

cd /var/www
composer create-project topthink/think thinkphp

目录结构:

/var/www/thinkphp

七、配置 Nginx

新建配置文件:

sudo nano /etc/nginx/sites-available/thinkphp

内容示例:

server {
    listen 80;
    server_name your_domain_or_ip;
    root /var/www/thinkphp/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/thinkphp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

八、设置权限

sudo chown -R www-data:www-data /var/www/thinkphp
sudo chmod -R 755 /var/www/thinkphp

九、测试访问

浏览器访问:

http://服务器IP

看到 ThinkPHP 欢迎页面即搭建成功 ✅


十、常见补充

  • 伪静态:ThinkPHP 已使用 try_files,无需额外配置
  • 调试模式:.env 中设置 APP_DEBUG = true
  • Apache 用户:如使用 Apache,需开启 mod_rewrite

如果你用的是 Ubuntu 版本不同 / Apache / ThinkPHP 5,可以告诉我,我可以给你对应方案。

0 踩