在腾讯云轻量服务器上搭建 Docker + Nginx + PHP 环境可以通过以下步骤实现。这里我们使用 Docker Compose 来管理容器,确保服务之间的协作更加高效。
1. 准备工作
- 腾讯云轻量服务器:确保已购买并登录(推荐 Ubuntu 20.04/22.04 或 CentOS 7/8)。
-
安装 Docker 和 Docker Compose:
# 安装 Docker curl -fsSL https://get.docker.com | sh sudo systemctl start docker sudo systemctl enable docker # 安装 Docker Compose sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
2. 创建项目目录
mkdir -p ~/php-nginx-project/{html,conf}
cd ~/php-nginx-project
html/:存放 PHP 代码(如index.php)。conf/:存放 Nginx 配置文件。
3. 配置 Nginx
创建 Nginx 配置文件 ~/php-nginx-project/conf/nginx.conf:
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
fastcgi_pass php:9000; # 指向 PHP 容器
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
4. 创建 docker-compose.yml
在项目根目录 (~/php-nginx-project) 创建 docker-compose.yml:
version: '3'
services:
nginx:
image: nginx:alpine
ports:
- "80:80"
volumes:
- ./html:/var/www/html
- ./conf/nginx.conf:/etc/nginx/conf.d/default.conf
depends_on:
- php
php:
image: php:8.2-fpm
volumes:
- ./html:/var/www/html
5. 创建测试 PHP 文件
在 ~/php-nginx-project/html/index.php 中写入:
<?php
phpinfo();
?>
6. 启动服务
docker-compose up -d
访问服务器 IP(如 http://你的服务器IP),看到 phpinfo() 页面即成功。
7. 常用命令
- 停止服务:
docker-compose down - 查看日志:
docker-compose logs nginx - 进入容器:
docker-compose exec php bash
8. 可选优化
- MySQL 扩展:在
docker-compose.yml中为 PHP 添加 MySQL 支持:php: image: php:8.2-fpm volumes: - ./html:/var/www/html command: > sh -c "docker-php-ext-install pdo pdo_mysql && php-fpm" - HTTPS:使用 Let’s Encrypt 证书(需绑定域名)。
常见问题
- 权限问题:确保
html/目录可被容器访问:chmod -R 755 ~/php-nginx-project/html - 端口冲突:检查服务器防火墙是否放行
80端口(腾讯云控制台 → 轻量服务器 → 防火墙)。
通过以上步骤,你已成功在腾讯云轻量服务器上部署了 Docker + Nginx + PHP 环境。后续可扩展 Redis、MySQL 等服务。
云服务器