首页 > 编程语言 >Ubuntu部署ThinkPHP微服务教程

Ubuntu部署ThinkPHP微服务教程

来源:互联网 2026-07-31 16:42:12

在Ubuntu系统上部署ThinkPHP微服务,需依次安装PHP环境、Composer、Nginx和MySQL。然后配置Nginx站点,上传项目并运行composerinstall安装依赖,配置数据库连接,启动PHP-FPM服务,最后通过浏览器测试访问。也可采用Docker容器化部署以简化流程。

先说几个基本判断:在Ubuntu上部署ThinkPHP微服务,其实没有想象中那么复杂。只要把环境搭好、Nginx配好,剩下的就是项目本身的迁移和数据库配置了。下面一步步拆开来讲。

Ubuntu部署ThinkPHP微服务教程

长期稳定更新的攒劲资源: >>>点此立即查看<<<

1. 安装必要的软件

先确认下系统里有没有这几样东西:PHP、Composer、Nginx、还有MySQL(或者其他你偏好的数据库)。缺一不可,但装起来也不费事。

安装PHP

PHP的安装包比较多,直接一次性拉全比较省心:

sudo apt update
sudo apt install php php-cli php-fpm php-mysql php-curl php-json php-zip php-gd php-mbstring php-xml php-pear php-bcmath

这里注意,php-fpm是必须的,后面Nginx要跟它配合工作。

安装Composer

Composer是PHP的依赖管理工具,ThinkPHP项目的依赖全靠它:

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

装好之后,在任何目录下敲composer都能用,这就对了。

安装Nginx

Nginx的安装很简单:

sudo apt install nginx

装完就可以启动服务了,不过先别急,配置文件还没写。

安装MySQL

数据库环节:

sudo apt install mysql-server
sudo mysql_secure_installation

跑完mysql_secure_installation,会引导你做一些安全设置,比如设置root密码、删除匿名用户等。记住,千万别跳过这一步。

做完这一步,环境基本就绪了。

2. 配置Nginx

Nginx的核心是配置文件。这里需要为你的ThinkPHP项目单独创建一个配置文件:

sudo nano /etc/nginx/sites-a vailable/your_project

把以下内容贴进去,注意根据自己的实际情况调整路径和PHP版本:

server {
    listen 80;
    server_name your_domain_or_ip;
    root /path/to/your/thinkphp/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; # 根据你的PHP版本调整
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

然后启用这个配置并重启Nginx:

sudo ln -s /etc/nginx/sites-a vailable/your_project /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

如果nginx -t输出“syntax is ok”,那就可以放心了。

3. 部署ThinkPHP项目

现在把项目代码上传到服务器。假设你存在/var/www/your_project这个目录:

cd /var/www
git clone https://github.com/your_username/your_project.git
cd your_project
composer install

注意,composer install这一步可能会因为网络原因慢一些,耐心等就好。如果遇到扩展缺失的错误,回头检查第一步的PHP扩展是否都装全了。

4. 配置数据库

找到项目根目录下的.env文件,把数据库连接信息填进去:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database
DB_USERNAME=your_username
DB_PASSWORD=your_password

数据库名、用户名、密码要和你之前创建的一致。配置好之后,可以跑迁移命令,把表结构建起来:

php artisan migrate

这一步如果报错,多半是数据库连接信息写错了,或者MySQL服务没启动。

5. 启动PHP-FPM

确保PHP-FPM已经启动并设为开机自启:

sudo systemctl start php7.4-fpm
sudo systemctl enable php7.4-fpm

有些系统可能用的是php8.1-fpm之类的,版本号对不上就改一下。

6. 测试部署

打开浏览器,输入你的服务器IP或域名,如果能看到ThinkPHP的欢迎页面,那就说明部署成功了。如果白屏或报500错误,检查Nginx错误日志,通常问题出在php-fpm.sock路径或项目目录权限上。

7. 配置防火墙(可选)

如果你开了UFW防火墙,记得放行HTTP和HTTPS:

sudo ufw allow 'Nginx Full'

这条命令会同时开放80和443端口。

8. 使用Docker(可选)

如果不想手动配置环境,Docker是一种更省心的方式。这里给出一套基础的Dockerfile和docker-compose.yml配置,可以直接用。

Dockerfile

FROM php:7.4-fpm
RUN apt-get update && apt-get install -y libpng-dev libjpeg-dev libpq-dev zip unzip git && docker-php-ext-configure gd --with-freetype --with-jpeg && docker-php-ext-install gd pdo_mysql zip opcache
WORKDIR /var/www/html
COPY . /var/www/html
RUN composer install
CMD ["php-fpm"]

docker-compose.yml

version: '3'
services:
  app:
    build: .
    volumes:
      - .:/var/www/html
    environment:
      - DB_CONNECTION=mysql
      - DB_HOST=db
      - DB_PORT=3306
      - DB_DATABASE=your_database
      - DB_USERNAME=your_username
      - DB_PASSWORD=your_password
    depends_on:
      - db
  web:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - app
  db:
    image: mysql:5.7
    environment:
      - MYSQL_DATABASE=your_database
      - MYSQL_USER=your_username
      - MYSQL_PASSWORD=your_password
      - MYSQL_ROOT_PASSWORD=your_root_password
    volumes:
      - db_data:/var/lib/mysql
volumes:
  db_data:

然后运行:

docker-compose up -d

Docker会自动拉取镜像、构建容器、启动服务。当然,这只是一个基础版本,实际生产环境还需要考虑网络、存储、日志等细节,但作为开发或测试环境,已经够用了。

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备2026025700号-3 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。