1ros学习笔记

docker-compose安装学习

0利用node vuepress hexo等创建静态网站

hexo的网站建立
1 下载node在win10安装
2 npm install hexo -g
3 hexo init ./my_web
4 cd my_web
5 npm install
6 hexo generate # 这里生成public
7 hexo server #启动查看
在这里插入图片描述
https://www.cnblogs.com/liuxianan/p/build-blog-website-by-hexo-github.html

https://segmentfault.com/a/1190000019734486
丢掉烂大街的Hexo吧,用Vuepress搭建专属你的博客吧

网站搭建blog,使用node编译生成网站文件

1 nginx搭建静态网站

  1. docker pull nginx
  2. docker -itd -name nginxzjh -p 3090:80 -v /home/zjh:/zjh nginx
  3. 将网页文件传输到:/usr/share/nginx/html
  4. 每次更新:
    /usr/sbin/nginx -t 验证conf文件是否配置正确
    /usr/sbin/nginx -s reload 重新加载NGINX配置生效
    在这里插入图片描述
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/

#user nginx;
user root;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
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;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
#include /etc/nginx/conf.d/*.conf;
server {
listen 8099;
server_name localhost;
#此为nginx本身index目录
#root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
此为旧应用index,static目录
root /usr/share/nginx/html/dist;
try_files $uri $uri/ @router;
index index.html index.htm;

}

location /new {
#此为新应用index,static目录,同时注意这里是alias,不是root,还有以及new的后面有/结尾
alias /usr/share/nginx/html/new/;
try_files $uri $uri/ /new/index.html;
index index.html index.htm;
}
location @router {
rewrite ^.*$ /index.html last;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}

server_name (这里写你的域名或者ip可以写多个,用空格隔开);

# 教你三分钟用docker compose搭建一个自己的个人博客网站

hi,大家好,我是 jack xu,今天和大家聊一个轻松、好玩、易懂的话题,就是教大家搭建一个自己的个人博客网站,可以在同事朋友面前炫耀一把。事情的缘由是我们公司有个同事,有一天他给了我一个网站,我打开一看,上面是一个 jenkins 的页面,我问他这个你是怎么搞的,他说他有一块树莓派,然后在上面搞着玩,装了个 jenkins,然后我又问这个域名呢,他说在上面装了一个花生壳就好了,顿时我恍然大悟,我觉得很棒。但是我又提出疑问,我说既然你都这样了,装个 jenkins 岂不是浪费,不如装个个人博客网站,这样你的树莓派也不浪费,别人也能通过你的域名来访问,你也可以发一些文章上去,这样岂不是妙哉。

小伙伴听后觉得很有道理,可是他不会搭,于是乎我就决定写一篇教程来帮助他,同事也分享给大家看下,扩展扩展知识,开阔开阔眼界哈。

# 准备工作

开头的准备工作还是那么两样,安装docker配置镜像加速器,如果还不会的同学可以看下我的《初识docker》 (opens new window),这是预备知识。然后今天我们是用 docker compose 来实现的,所以还需要安装下 docker compose,我们先打开官网看到上面有步骤。

mixureSecure 我们按步骤操作下
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version

测试一下,安装成功了

mixureSecure

# 拉取镜像

安装个人博客的核心是 wordpress 开源框架,源码界面全都帮我们集成好了,所以我们只需要拉取它的镜像,当然我们还需要一个数据库来存储数据,所以还得拉一个mysql。

docker pull wordpress
docker pull mysql:5.6

# 创建yml文件

首先说下什么是 docker compose,前面我们使用 docker 的时候,定义 dockerfile 文件,然后使用 docker build、docker run 等命令操作容器。然而微服务架构的应用系统一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,那么效率之低,维护量之大可想而知。

而 docker compose 的作用就是可以让我们轻松、高效的管理容器,它是一个用于定义和运行多容器 docker 的应用程序工具。

1、先创建一个文件夹

 mkdir -p /jackxu/wordpress

2、进入到目录,创建一个 yml 文件。(这里我指定了一个网络,如果不指定的话会默认帮我们创建一个bridge类型的网络。)

vi docker-compose.yml

version: ‘3’
services:
wordpress:
image: wordpress
restart: always
ports:
- 80:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
networks:
- jackxu-net
volumes:
- wordpress:/var/www/html

db:
image: mysql:5.6
restart: always
environment:
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: examplepass
MYSQL_RANDOM_ROOT_PASSWORD: ‘1’
volumes:
- db:/var/lib/mysql
networks:
- jackxu-net

volumes:
wordpress:
db:

networks:
jackxu-net:
driver: bridge

3、把 docker compose 启动起来

docker-compose up -d

好,成功了,稳了!
mixureSecure

# 配置博客网站

接着我们来访问一下 http://www.jackxu.vip/wp-admin/install.php ,进行博客的语言的选择,网站的账号密码选择,一直点下一步下一步,很简单。

mixureSecure mixureSecure

进入后台可以设置博客的皮肤、名称,发文章,管理评论,管理用户等各种功能。
mixureSecure

配置好以后,别人就能通过你的域名 http://www.jackxu.vip/ 访问啦!
mixureSecure

# 总结

至此,三分钟教你搭建一个个人博客网站全部结束,最后总结几点:

  • 本文用的是 docker compose 的方式搭建,如果小伙们不想用的话可以用原生的方式哦,命令如下:
docker run -d --name jackmysql  -e MYSQL_ROOT_PASSWORD=examplepass -e MYSQL_DATABASE=db_wordpress -p 3306:3306 mysql:5.6
docker run -d --name jackwordpress --link jackmysql -e WORDPRESS_DB_HOST=jackmysql:3306 -e WORDPRESS_DB_USER=root -e WORDPRESS_DB_PASSWORD=examplepass -e WORDPRESS_DB_NAME=db_wordpress -p 80:80 wordpress
  • 讲解一下docker-compose.yml 文件里的内容
(1)version: '3'
表示docker-compose的版本
(2)services
一个service表示一个container
(3)networks
相当于docker network create app-net
(4)volumes持久化
相当于-v v1:/var/lib/mysql
(5)image
表示使用哪个镜像,本地build则用build,远端则用image
(6)ports
相当于-p 8080:8080
(7)environment
相当于-e
  • 域名访问

最后回到开篇提到我的同事也有域名,但是他是用树莓派+花生壳的技术,这样有个好处就是省钱,不用买单独的服务器,而缺点是需要一直开机,占用电源、占用地方;有断网服务器不能访问的风险;此外登录主机外网也是不能访问的,只能和树莓派在同一个网络;以及网络运营商可能会封80端口等问题。

而我比较有钱任性,我是在阿里云买的 jackxu.vip 的域名,以及阿里云的服务器,以及在阿里云备的案,通通都是在阿里云一条龙服务,这么多搞下来金钱时间花的都比较久,所以选用哪种方式小伙们自己选择哈。最后原创不易,如果你觉得写得不错,请点一个赞!

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2022 zjh
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信