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

举报
jin7 发表于 2019/11/05 15:16:27 2019/11/05
【摘要】   这次双十一, 牛客网联合华为云搞活动, 惊爆价, 学生机一年只要9块钱, 9块钱, "老夫"激动得无以言表, 简直太棒了!  活动一开始, 我就立马下单购买了, 要做第一个吃螃蟹的人. 买了, 也不能闲置吃灰, 我得把华为云服务器用起来, 顺便写篇文章记录下.  首先, 我要用华为云服务器搭建一个个人博客. 个人考察了常见的博客系统, WordPress、Typo、Zblog、Ghost...

  这次双十一, 牛客网联合华为云搞活动, 惊爆价, 学生机一年只要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" \
--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块钱上云!


【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。