奋斗
努力

腾讯轻量云搭建DOCKER+NGINX+PHP?

云计算

在腾讯云轻量服务器上搭建 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 证书(需绑定域名)。

常见问题

  1. 权限问题:确保 html/ 目录可被容器访问:
    chmod -R 755 ~/php-nginx-project/html
  2. 端口冲突:检查服务器防火墙是否放行 80 端口(腾讯云控制台 → 轻量服务器 → 防火墙)。

通过以上步骤,你已成功在腾讯云轻量服务器上部署了 Docker + Nginx + PHP 环境。后续可扩展 Redis、MySQL 等服务。

未经允许不得转载:云服务器 » 腾讯轻量云搭建DOCKER+NGINX+PHP?