把通过牛客网注册的华为云服务器用起来!
这次双十一, 牛客网联合华为云搞活动, 惊爆价, 学生机一年只要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 |
开启本地端口转发(本地端口-->远程端口)
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块钱上云!
- 点赞
- 收藏
- 关注作者
评论(0)