把通过牛客网注册的华为云服务器用起来!

  这次双十一, 牛客网联合华为云搞活动, 惊爆价, 学生机一年只要9块钱, 9块钱, "老夫"激动得无以言表, 简直太棒了!

  活动一开始, 我就立马下单购买了, 要做第一个吃螃蟹的人. 买了, 也不能闲置吃灰, 我得把华为云服务器用起来, 顺便写篇文章记录下.

  首先, 我要用华为云服务器搭建一个个人博客. 个人考察了常见的博客系统, WordPress、Typo、Zblog、Ghost、Solo、Hexo、Hugo, 前面5个是带后台的动态博客, 其中WordPress、Typo、Zblog是基于PHP的, Ghost是基于Nodejs的, Solo是基于Java的, Hexo、Hugo是静态博客生成器, 最后我选择了Solo, 虽然它是Java写的, 但是很省内存, 运行时只占用100多MB的内存. 而且Solo比较符合我的个人需求, 功能不多不少, 有很多定制的皮肤.

  下面使用docker在华为云上搭建Solo博客, 跟着一步步做就差不多了, 注意可能要修改一些参数. 我选择的操作系统是Ubuntu 18.04 server 64bit, 其他Linux系统也是大同小异的, 没多大区别. 首先得根据Docker的官方文档安装docker, Ubuntu参考https://docs.docker.com/install/linux/docker-ce/ubuntu/, 这里不再累述.
创建自定义网络给容器固定ip

1

2

docker network create --opt com.docker.network.bridge.name=mynetwork --subnet=172.28.0.0/16 mynetwork

# 默认情况下, 重启Docker服务进程, 会导致docker容器的ip变化, 所以要把容器ip固定下来.

创建nginx-proxy和letsencrypt-nginx-proxy-companion容器(开启https)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

docker run -d -p 80:80 -p 443:443 \

--name nginx-proxy \

--network mynetwork --ip 172.28.0.2 --dns 114.114.114.114 \

-e TZ=Asia/Shanghai \

-v /etc/nginx/certs \

-v /etc/nginx/vhost.d \

-v /usr/share/nginx/html \

-v /var/run/docker.sock:/tmp/docker.sock:ro \

--restart=always \

jwilder/nginx-proxy

 

docker run -d \

--name nginx-proxy-letsencrypt \

-e "DEFAULT_EMAIL=你的邮箱地址" \

-v /var/run/docker.sock:/var/run/docker.sock:ro \

--volumes-from nginx-proxy \

--restart=always \

jrcs/letsencrypt-nginx-proxy-companion

创建mysql容器并减少mysql内存占用

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

docker run -d \

--name mysql \

--network mynetwork --ip 172.28.0.3 --dns 114.114.114.114  \

-e TZ=Asia/Shanghai \

-e MYSQL_ROOT_PASSWORD=你的数据库密码 \

-e MYSQL_ROOT_HOST=172.28.0.% \

-v /home/ubuntu/mysql57:/var/lib/mysql \

--restart=always \

mysql/mysql-server:5.7.27

# 删除容器数据不会丢, 数据保存在/home/ubuntu/mysql57, 可以自己改成其他路径.

 

docker exec -it mysql bash -c "cat >> /etc/my.cnf << 'EOF'

# Reducing MySQL memory usage

performance_schema_max_table_instances=400

table_definition_cache=400

table_open_cache=256

EOF"

 

docker restart mysql

创建solo容器

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

docker run -d \

--name solo \

--network mynetwork --ip 172.28.0.4 --dns 114.114.114.114 \

-e "VIRTUAL_HOST=www.example.com,example.com" \

-e "LETSENCRYPT_HOST=www.example.com,example.com" \

-e solo_server_host="example.com" \

-e RUNTIME_DB="MYSQL" \

-e JDBC_USERNAME="root" \

-e JDBC_PASSWORD="你的数据库密码" \

-e JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \

-e JDBC_URL="jdbc:mysql://172.28.0.3:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \

--restart=always \

registry.cn-shenzhen.aliyuncs.com/jin7/solo

# 注意把www.example.com和example.com改成你自己的域名.

# 这个Solo镜像是我自己定制的, 把lute-http(更高效的markdown渲染引擎)和solo整合在一起了. 该镜像每日自动构建, 保持Solo是最新的版本.

  至此Solo博客就搭建好了, 访问你的域名, 尽情享用吧.

  除了搭建博客, 我们再来玩玩VSCode远程开发. VSCode远程开发可以让我们利用华为云服务器做开发, 具体有两种开发方式, 直接在华为云服务器上做开发, 或者在华为云服务器上的Docker容器中做开发. 如图所示SSH TARGETS(直接在服务器上开发)和CONTAINERS(在容器中开发).
图片说明

  SSH TARGETS具体的配置方法很简单,
在$home/.ssh/config中添加:

1

2

3

4

5

6

7

Host huaweicloud

User 用户名

HostName 华为云服务器IP地址

Port 22

PreferredAuthentications publickey

IdentityFile ~/.ssh/id_rsa

# 记得把本地电脑上的公钥 ~/.ssh/id_rsa.pub内容粘贴到华为云服务器上的~/.ssh/authorized_keys中.

  CONTAINERS的配置方法也不复杂,
在vscode添加设置:

1

"docker.host":"tcp://localhost:23750",

开启本地端口转发(本地端口-->远程端口)

1

2

ssh -NL localhost:23750:/var/run/docker.sock 用户名@华为云服务器IP地址 -f

# Windows10自带了ssh, Win7如果没有ssh, 安装git就有, 指明一下详细路径.

在华为云上创建一个python容器用于远程开发

1

2

3

4

5

6

docker run -t -d \

--name python \

-e TZ=Asia/Shanghai \

-v /home/ubuntu/development/python_root:/root \

--restart=always \

python:3.7.5

vscode remote安装扩展

1

2

3

ms-python.python

formulahendry.code-runner

visualstudioexptteam.vscodeintellicode

  至此VSCode远程开发配置完毕, 尽情享用吧. 具体的官方文档参考https://code.visualstudio.com/docs/remote/remote-overview.

  华为云服务器可玩性很高, 可以做很多事情, 我这里就介绍了两个, 还有很多可挖掘的空间, 可以尽情地去探索、去发现!
  感谢牛客网+华为云, 9块钱上云!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值