在Ubuntu上部署ThinkPHP微服务架构,可以按照以下步骤进行:
首先,确保你的Ubuntu系统已经安装了以下软件:
sudo apt update
sudo apt install php php-cli php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo apt update
sudo apt install nginx
为每个微服务创建一个Nginx配置文件。假设你有两个微服务:service1
和 service2
。
sudo nano /etc/nginx/sites-available/service1
在文件中添加以下内容:
server {
listen 80;
server_name service1.example.com;
root /path/to/service1/public;
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;
}
}
重复上述步骤为 service2
创建配置文件:
sudo nano /etc/nginx/sites-available/service2
内容类似,只需更改 server_name
和 root
路径。
sudo ln -s /etc/nginx/sites-available/service1 /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/service2 /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
将你的ThinkPHP项目上传到服务器,并解压到相应的目录。
/path/to/service1
/path/to/service2
进入项目目录并使用Composer安装依赖:
cd /path/to/service1
composer install
cd /path/to/service2
composer install
如果你的项目需要数据库,确保已经安装并配置了MySQL或PostgreSQL,并在ThinkPHP项目中配置数据库连接信息。
你可以使用内置的PHP服务器来启动项目进行测试:
cd /path/to/service1
php -S localhost:8000 -t public
cd /path/to/service2
php -S localhost:8001 -t public
为了更好地管理和部署微服务,可以使用Docker。
sudo apt update
sudo apt install docker.io
为每个微服务创建一个Dockerfile。
# service1
FROM php:7.4-fpm
WORKDIR /var/www/html
COPY . /var/www/html
RUN apt-get update && apt-get install -y \
libpng-dev \
libjpeg62-turbo-dev \
libpq-dev \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install gd pdo_mysql
RUN composer install
CMD ["php-fpm"]
docker build -t service1 .
docker run -d -p 8000:9000 --name service1 service1
重复上述步骤为 service2
创建和运行Docker容器。
通过以上步骤,你可以在Ubuntu上成功部署ThinkPHP微服务架构。