个人网站建设日志

阿里云双11买的云服务器ECS(1核 2GiB),一年才七八十块,也买了腾讯云和华为云,先对比试着用一下,确定一下个人需求和使用情况,再决定下一年的购买计划。

我的需求不多,只希望搞自己的个人网站,打造一下个人品牌,并同时体验一下云服务相关技术。毕竟技术博客可以在CSDN等网站上写,敏感话题自然更不能写在国内网站,直接放在github上啊。

还有,记得购买域名,并备案登记。

 

一、初始化

进入阿里云控制台,搜索云服务器ECS,进入概览页面,可以看到自己的云服务器,并按照下面的教程,初始化个人云服务器,腾讯云/华为云的教程也看过,还是阿里的教程比较合我胃口。

我选择的是部署开发环境,具体可以跟着官网走,我写在这里,不过是为了在其他云或环境上也能使用,统一配置,方便移植。

 

1. 登录云服务器

(1)打开电脑上的命令行终端工具,Windows:Powershell ;MAC:Terminal。

(2)Windows用户请检查系统中是否安装有SSH工具。检查方法:

在终端中输入命令

ssh -V

如果显示SSH版本则表示已安装,如下图所示;如果未安装,请下载安装OpenSSH工具。

image

(3)在终端中输入连接命令ssh root@[ipaddress],将其中的 ipaddress 替换为ECS服务器的公网IP地址。

ssh root@123.123.123.123

命令显示结果如下。

image

输入 yes,然后输入云服务器的登录密码。

image

登录成功后会显示如下信息。

image

 

2. 安装Docker CE

使用docker容器,后期即使服务器到期,也可以提交机器上的容器打包成镜像,提交到镜像仓库中,以防止相关数据丢失,也方便移植,而且使用过程中多个环境,互相隔离,不用为烦人的环境问题为大动肺火。

# 安装Docker的依赖库
yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加Docker CE的软件源信息,使用阿里源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 安装Docker CE
yum makecache fast
yum -y install docker-ce

# 启动Docker服务
systemctl start docker

3. 配置阿里云镜像仓库(镜像加速)

Docker的默认官方远程仓库是hub.docker.com,由于网络原因,下载一个Docker官方镜像可能会需要很长的时间,甚至下载失败。为此,阿里云容器镜像服务ACR提供了官方的镜像站点,从而加速官方镜像的下载。下面介绍如何使用阿里云镜像仓库。

(1)使用体验平台提供的阿里云子账号登录 容器镜像服务控制台

image

(2)单击 [镜像中心] > [镜像加速器],可以看到阿里云为您提供了一个专属的镜像加速地址。

image

(3)配置Docker的自定义镜像仓库地址。请将下面命令中的镜像仓库地址https://kqh8****.mirror.aliyuncs.com替换为阿里云为您提供的专属镜像加速地址。

tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://kqh8****.mirror.aliyuncs.com"]
}
EOF

(4)重新加载服务配置文件。

systemctl daemon-reload

(5)重启Docker服务。

systemctl restart docker

 

二、功能:

1、proxy-nginx

我的想法是先添加一个 nginx ,用来做反向代理。根据子域名进行分发给其他任何容器(包括 wordpress、python、java、easy-mock等等)。

不建议使用docker 容器 创建 nginx,很麻烦,涉及很多网络问题,端口问题,而且云平台会禁止一些操作,所以最好还是将nginx直接安装在服务器中。

具体请参考教程:https://www.runoob.com/linux/nginx-install-setup.html

安装完成后,配置default.conf 内容如下:

server {
    listen       80;
    listen       443;
    server_name  easymock.star-sea.site;
    location / {
        proxy_pass  http://127.0.0.1:7300/;
        proxy_set_header   Host    $host;
        proxy_set_header   X-Real-IP   $remote_addr; 
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    }
 
}
server {
    listen       80;
    listen       443;
    server_name  www.star-sea.site;
    location / {
        proxy_pass  http://127.0.0.1:8000/;
        # proxy_set_header   Host    $host;
        # proxy_set_header   X-Real-IP   $remote_addr; 
        # proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
server {
    listen       80;
    listen       443;
    server_name  star-sea.site;
 
    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;
 
    location / {
        root   /usr/share/nginx/html;
        index  index.html index.html;
    }
 
    #error_page  404              /404.html;
 
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
 
    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}
 
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}
 
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

 

重启nignx,使配置生效

// 进入nginx可执行目录sbin下,输入命令
./nginx -s reload

 

2、easy-mock

官网:https://github.com/easy-mock/easy-mock-docker

mkdir -p /opt/dockerfiles/easymock  # 与 easymock 有关的都放这里
vim docker-compose.yml
vim production.json

docker-compose.yml

version: '3'

services:
  mongodb:
    image: mongo:3.4.1
    volumes:
      - './data/db:/data/db'
    networks:
      - easy-mock
    restart: always

  redis:
    image: redis:4.0.6
    command: redis-server --appendonly yes
    volumes:
      - './data/redis:/data'
    networks:
      - easy-mock
    restart: always

  web:
    image: easymock/easymock:1.6.0
    command: /bin/bash -c "npm start"
    ports:
      - 7300:7300
    volumes:
      - './logs:/opt/dockerfiles/easymock/logs'
    networks:
      - easy-mock
    restart: always

networks:
  easy-mock:

生成镜像容器命令

docker-compose up -d

 

3、博客 wordpress

mkdir -p /opt/dockerfiles/wordpress  # 与 easymock 有关的都放这里
vim docker-compose.yml

docker-compose.yml

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - /usr/local/mysql:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress

退出保存,使用开启镜像容器

docker-compose up -d

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值