当前位置: 首页 > news >正文

把自己做的网站开放到外网怎样建一个自己的网站

把自己做的网站开放到外网,怎样建一个自己的网站,asp网站开发视频教程,网站开发类标书模板文章目录 docker(学习笔记第一课) 使用nginx https wordpress学习内容:1. 整体架构1.1 在aws ec2的整体架构1.2 不懂都可以问AI 2. 构建详细2.1 构建ec22.2 安装docker2.3 创建一个docker的内部network2.4 创建wordpress使用的mysql数据库2.5 创建两个wordpress的d…

文章目录

  • docker(学习笔记第一课) 使用nginx +https + wordpress
  • 学习内容:
    • 1. 整体架构
      • 1.1 在`aws ec2`的整体架构
      • 1.2 不懂都可以问`AI`
    • 2. 构建详细
      • 2.1 构建`ec2`
      • 2.2 安装`docker`
      • 2.3 创建一个`docker`的内部`network`
      • 2.4 创建`wordpress`使用的`mysql`数据库
      • 2.5 创建两个`wordpress`的`docker process`
      • 2.6 创建SSL证书
      • 2.7 创建Nginx配置文件
        • 2.7.1 创建`nginx.conf`
        • 2.7.2 创建Nginx Docker的`image`
        • 2.7.3 创建Nginx Docker容器
    • 3. 访问`nginx`的网页
    • 4. 操作`docker`的有用命令
      • 4.1 访问`docker`的`log`
      • 4.2 进入`docker`的进程`process`
      • 4.3 `docker`的内部`directory`映射宿主机的`directory`(`mount`)
      • 4.4 停止所有容器
      • 4.5 启动所有容器
      • 4.6 删除所有容器(数据会保留在卷中)
      • 4.7 删除所有数据卷
      • 4.8 `docker compose`

docker(学习笔记第一课) 使用nginx +https + wordpress

  • awsec2上安装docker
  • 部署两个wordpressdocker
  • 做成自定义证书certificate

学习内容:

  • 使用docker部署wordpress
  • 生成certificate
  • 使用docker部署nginx

1. 整体架构

1.1 在aws ec2的整体架构

这里采用aws ec2主要是国内的网络上docker的镜像都很少能连接上,所以才使用aws ec2
在这里插入图片描述

1.2 不懂都可以问AI

在学习一些新概念的时候可以多问问deepseek。
为了先能够清晰了解docker,这里特意告诉AI,先不使用docker compose即使我说错了,AI也能理解意思!

在这里插入图片描述
这里,AI给出了一个完整的例子,并且可以使用的具体命令。

2. 构建详细

2.1 构建ec2

这里在awspublic subnet里面构建ec2ip address13.115.188.112
在这里插入图片描述

2.2 安装docker

sudo yum install docker
sudo systemctl start docker

2.3 创建一个docker的内部network

docker network create wordpress-network

在这里插入图片描述

2.4 创建wordpress使用的mysql数据库

docker run -d \--name mysql \--network wordpress-network \-e MYSQL_ROOT_PASSWORD=rootpassword \-e MYSQL_DATABASE=wordpress \-e MYSQL_USER=wordpress \-e MYSQL_PASSWORD=wordpress \-v mysql_data:/var/lib/mysql \mysql:5.7
  • -e 这里设定docker启动的环境变量,包括用户名和密码的建立,这里设定好了之后后面的wordpress会使用。
  • -v 设定将docker内部的数据路径设定成docker volume,这里的docker volumn会对宿主机的local directory进行mount。通过这样,宿主机的local directory就会映射到docker内部的路径。
  • --network,这里执行docker内部的network,以便相关的docker ps进程实例能够通过一个网络互相访问。
  • --name是指定docker process的一个识别子,能够唯一定位一个docker process

2.5 创建两个wordpressdocker process

第一个wordpress

docker run -d \--name wordpress1 \--network wordpress-network \-e WORDPRESS_DB_HOST=mysql \-e WORDPRESS_DB_USER=wordpress \-e WORDPRESS_DB_PASSWORD=wordpress \-e WORDPRESS_DB_NAME=wordpress \-v wordpress_data1:/var/www/html \wordpress:latest

第二个wordpress

docker run -d \--name wordpress2 \--network wordpress-network \-e WORDPRESS_DB_HOST=mysql \-e WORDPRESS_DB_USER=wordpress \-e WORDPRESS_DB_PASSWORD=wordpress \-e WORDPRESS_DB_NAME=wordpress \-v wordpress_data2:/var/www/html \wordpress:latest

这里,看出wordpress都使用wordpress-network

2.6 创建SSL证书

mkdir -p nginx/ssl
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \-keyout nginx/ssl/private.key \-out nginx/ssl/certificate.crt

在这里插入图片描述
这里生成以下两个文件:(/home/ec2-user/nginx/ssl)

  • certificate.crt
  • private.key

2.7 创建Nginx配置文件

2.7.1 创建nginx.conf

/home/ec2-user上创建nginx.conf,这里看到upstream这里,指向wordpress1wordpress280端口。

upstream wordpress {server wordpress1:80;server wordpress2:80;
}server {listen 443 ssl;server_name localhost;ssl_certificate /etc/nginx/ssl/certificate.crt;ssl_certificate_key /etc/nginx/ssl/private.key;location / {proxy_pass http://wordpress;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;}
}server {listen 80;server_name localhost;return 301 https://$host$request_uri;
}
2.7.2 创建Nginx Docker的image

/home/ec2-user/上执行下面的命令,创建nginx docker

mkdir -p temp-nginx
cp nginx.conf temp-nginx/
cp -r nginx/ssl temp-nginx/
# 创建Dockerfile
echo "FROM nginx:alpine
COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY ssl/ /etc/nginx/ssl/" > temp-nginx/Dockerfile
docker build -t custom-nginx temp-nginx/
# 清理临时文件
rm -rf temp-nginx

在这里插入图片描述

2.7.3 创建Nginx Docker容器
docker run -d \--name nginx \--network wordpress-network \-p 80:80 \-p 443:443 \custom-nginx

3. 访问nginx的网页

这里由于是自定义的ssl证书,所以显示是不安全的。如果是本番环境,这里会做成正式的证书。
在这里插入图片描述

4. 操作docker的有用命令

4.1 访问dockerlog

docker logs -f nginx

其中-f表示一直动态监视log,和tail -f loglinux命令很像。

在这里插入图片描述

4.2 进入docker的进程process

想要进入docker所在的OS也是特别方便。

sudo docker exec -it wordpress1 bash

在这里插入图片描述

4.3 docker的内部directory映射宿主机的directorymount

docker内容的路径指向volume,这些volume实际上是宿主机的directory。即使docker process,这些volume也不会被删除,启动其他docker进行的时候,还能继续利用。

sudo docker volume inspect wordpress_data2

在这里插入图片描述
在这里插入图片描述

4.4 停止所有容器

docker stop nginx wordpress1 wordpress2 mysql

4.5 启动所有容器

docker start mysql wordpress1 wordpress2 nginx

4.6 删除所有容器(数据会保留在卷中)

docker rm nginx wordpress1 wordpress2 mysql

4.7 删除所有数据卷

docker volume rm mysql_data wordpress_data1 wordpress_data2

4.8 docker compose

可以进一步学习Docker Compose来简化部署过程。

http://www.dtcms.com/a/522765.html

相关文章:

  • 建设银行官方网站个人系统板块修改刷链接浏览量网站
  • 学生网站建设首页wordpress技术博客
  • 什么网站开发外贸客户上海十大保安公司排名
  • 太原做彩票网站公司制作短视频的app哪个好
  • 有什网站可以做设计赚钱在手机上自建网站怎么弄
  • 域名及密码登录域名管理网站免费入口
  • 网站做美食视频挣钱吗全国建筑人员证书查询
  • 沈阳网站建设聚艺科技发来贵州省建设厅网站
  • 网站加速器下载wordpress个人博客毕业设计
  • 免费软件安装网站网站开发掌握哪种语言
  • 网站目录遍历杭州盘石做网站专业吗
  • 西安网站建设瑞信精准扶贫建设网站的目的
  • 做网站应该用什么语言来开发做海外贸易的网站名叫什么
  • 深圳电商网站开发公司焦作市网站建设
  • 建设工程信息服务平台新网站网页设计模板图片简单
  • 网站基本架构设计的主要步骤平台网站怎么优化
  • 如何建设一个新的网站项目网站建设应入哪个科目
  • 大型网站 div黄页是干什么用的
  • 网站建设主管有关网站设计与制作的论文
  • 电商导购网站开发北京网站开发联系电话
  • 智能建站技术高端网站建设机构
  • 网站建设超速云免费关键词自动优化工具
  • apache网站拒绝访问计量检测网站平台建设方案
  • 建设银行信用卡网站登录榆林 网站建设
  • 代做效果图网站CQ网站建设
  • 纯html5 网站婚庆网站建设必要性
  • 网站 尺寸海原县建设局网站
  • 背景图网站网站优化合同模板
  • 南昌建设网站公司浙江省城乡建设厅
  • 胶州做网站公司html主页设计