腾讯轻量云搭建DOCKER+NGINX+PHP完整指南
结论与核心观点
使用腾讯轻量云服务器配合Docker部署Nginx+PHP环境是高效、可移植且易于管理的解决方案。这里提供从零开始的完整搭建流程,包含关键配置细节和优化建议。
准备工作
-
腾讯轻量云服务器选择:
- 推荐配置:2核CPU/4GB内存/60GB SSD(基础Web应用足够)
- 系统选择:Ubuntu 20.04 LTS或CentOS 7(这里以Ubuntu为例)
-
基础环境配置:
# 更新系统 sudo apt update && sudo apt upgrade -y # 安装必要工具 sudo apt install -y curl git vim
Docker安装与配置
-
安装Docker引擎:
curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER
-
安装Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(unlink -m)-$(uname -p)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
项目结构规划
/project-root
├── docker-compose.yml # 主配置文件
├── nginx
│ ├── conf.d
│ │ └── app.conf # Nginx站点配置
│ └── nginx.conf # 主配置文件
├── php
│ └── Dockerfile # PHP自定义镜像
└── www # 项目代码目录
核心配置文件
1. docker-compose.yml
version: '3'
services:
nginx:
image: nginx:1.21-alpine
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./www:/var/www/html
depends_on:
- php
php:
build: ./php
volumes:
- ./www:/var/www/html
2. Nginx站点配置 (app.conf)
server {
listen 80;
server_name your-domain.com;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
fastcgi_pass php:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
3. PHP Dockerfile
FROM php:8.1-fpm-alpine
RUN apk add --no-cache
libzip-dev
zip
&& docker-php-ext-install pdo_mysql zip
WORKDIR /var/www/html
部署流程
-
构建并启动服务:
docker-compose up -d --build
-
验证服务状态:
docker-compose ps
-
测试PHP环境:
在www
目录创建info.php
:<?php phpinfo(); ?>
访问
http://your-server-ip/info.php
关键优化建议
-
性能优化:
- 在Nginx配置中启用gzip压缩
- 为PHP-FPM调整进程管理设置(pm.max_children等)
-
安全加固:
- 限制Nginx直接访问
.env
等敏感文件 - 定期更新Docker基础镜像
- 限制Nginx直接访问
-
扩展管理:
# 示例:安装常用PHP扩展 RUN docker-php-ext-install pdo_mysql mysqli opcache
常见问题解决
-
权限问题:
chmod -R 755 ./www chown -R www-data:www-data ./www
-
端口冲突:
检查80/443端口是否被占用:netstat -tulnp | grep ':80'
-
容器日志查看:
docker-compose logs nginx
最终建议
将整个docker-compose项目纳入版本控制,并考虑使用.env
文件管理敏感配置。对于生产环境,建议:
- 配置HTTPS证书(可使用Let’s Encrypt)
- 实现自动化备份方案
- 设置监控和告警系统
这种Docker化部署方式的最大优势是环境一致性和可移植性,可以轻松迁移到其他云平台或本地开发环境。