一、项目背景

在一个网站上面进行展示一些可下载的app应用或者展示一些分享的内容

二、涉及服务

云ecs(虚拟机也可以)、docker、mysql、wordpress

三、部署服务

安装docker

#添加Docker软件包源
sudo wget -O /etc/yum.repos.d/docker-ce.repo http://mirrors.cloud.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
sudo sed -i 's|https://mirrors.aliyun.com|http://mirrors.cloud.aliyuncs.com|g' /etc/yum.repos.d/docker-ce.repo
#Alibaba Cloud Linux3专用的dnf源兼容插件
sudo dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus
#安装Docker社区版本,容器运行时containerd.io,以及Docker构建和Compose插件
sudo dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

#启动Docker
sudo systemctl start docker
#设置Docker守护进程
sudo systemctl enable docker

安装mysql

docker run -d \
  --name wp-db \
  --network wp-network \
  -e MYSQL_ROOT_PASSWORD=StrongRootPass123 \
  -e MYSQL_DATABASE=wordpress \
  -e MYSQL_USER=wpuser \
  -e MYSQL_PASSWORD=wpuserpass123 \
  -v wp-db-data:/var/lib/mysql \
  mysql:8.0

安装wordpress

docker run -d \
  --name wp-app \
  --network wp-network \
  -e WORDPRESS_DB_HOST=wp-db \
  -e WORDPRESS_DB_USER=wpuser \
  -e WORDPRESS_DB_PASSWORD=wpuserpass123 \
  -e WORDPRESS_DB_NAME=wordpress \
  wordpress:php8.1-apache

安装nginx

docker run -d \
  --name wp-nginx \
  -p 80:80 \
  --network wp-network \
  -v $(pwd)/nginx/nginx.conf:/etc/nginx/nginx.conf \
  nginx:alpine

nginx的配置

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;
    error_log   /var/log/nginx/error.log  warn;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen 80;
        # server_name 43.137.4.107;

        location / {
            proxy_pass http://wp-app:80;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_buffering off;
        }
    }

    # ⚠️ HTTPS 配置(有域名时启用)
    # server {
    #     listen 443 ssl;
    #     server_name yourdomain.com;
    #
    #     ssl_certificate /etc/nginx/ssl/yourdomain.com.crt;
    #     ssl_certificate_key /etc/nginx/ssl/yourdomain.com.key;
    #     ssl_protocols TLSv1.2 TLSv1.3;
    #     ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512;
    #
    #     location / {
    #         proxy_pass http://wp-app:80;
    #         proxy_set_header Host $host;
    #         proxy_set_header X-Real-IP $remote_addr;
    #         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    #         proxy_set_header X-Forwarded-Proto $scheme;
    #         proxy_buffering off;
    #     }
    # }
}

四、登录wordpress

ip:端口/wp-admin
在这里插入图片描述

登录进去可以自行设置一些主题使用,在对应网站可以看到发布的内容。
在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐