title: Ubuntu server 16.04 下的环境配置
date: 2019-02-03 20:15:00
categories:

  • linux
    tags:
  • ubuntu
  • server
  • 配置
  • docker

    由于毕设的需要、学习的需要等待原因需要配置一台云服务器。好久没搞了,这次就把整个过程记录下来下次好用。只是初步配置了以下,以后慢慢配,慢慢更新。

系统更新

安装完系统之后首先要进行必要的系统更新。

  1. $ sudo apt update
  2. $ sudo apt upgrade

修改root密码

密码还是要保管好。

  1. sudo passwd root

安装oh-my-zsh

就是漂亮实用的终端

  1. # 安装oh-my-zsh
  2. $ sudo apt install zsh
  3. $ wget --no-check-certificate https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
  4. # 替换默认shell为zsh
  5. $ chsh -s /bin/zsh
  6. # 重启
  7. $ sudo reboot

安装docker

docker是一个方便的虚拟化部署运行方案。

  1. # 安装必要工具
  2. $ sudo apt-get install \
  3. apt-transport-https \
  4. ca-certificates \
  5. curl \
  6. gnupg-agent \
  7. software-properties-common
  8. # 添加key
  9. $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  10. # 验证key
  11. $ sudo apt-key fingerprint 0EBFCD88
  12. # 添加源
  13. $ sudo add-apt-repository \
  14. "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  15. $(lsb_release -cs) \
  16. stable"
  17. # 更新安装源
  18. $ sudo apt-get update
  19. # 安装docker
  20. $ sudo apt-get install docker-ce docker-ce-cli containerd.io
  21. # 测试运行
  22. $ sudo docker run hello-world
  23. # 增加普通用户执行docker权限
  24. $ sudo groupadd docker
  25. $ sudo gpasswd -a ${USER} docker
  26. $ sudo service docker restartsudo systemctl restart docker

安装pip

python的基本包安装工具,下面的docker-compose也依赖pip来安装

  1. # 基本组件(py3的话就把python改成python3)
  2. $ sudo apt-get install python-pip python-dev build-essential
  3. $ sudo pip install --upgrade pip
  4. $ sudo pip install --upgrade virtualenv
  5. # 中途把pip升级搞坏了,这里提供几个解决办法
  6. # ImportError: No module named _internal
  7. # 强制重装(这个比较好用)
  8. $ wget https://bootstrap.pypa.io/get-pip.py --no-check-certificate
  9. $ sudo python get-pip.py --force-reinstall
  10. # 强制升级
  11. $ sudo -H python -m pip install --upgrade pip

安装docker-compose

Compose 通过一个配置文件来管理多个Docker容器

  1. $ pip install docker-compose -i https://mirrors.aliyun.com/pypi/simple/

安装swarmpit(废弃,改用rancher)

docker集群一个简单的图形化管理web ui,就用来看看系统运行状态

  1. $ git clone https://github.com/swarmpit/swarmpit -b 1.5.1
  2. $ docker stack deploy -c swarmpit/docker-compose.yml swarmpit
  3. # localhost:888
  4. # admin/admin
  5. # 记得放通端口

安装Rancher

同上,只不过上面的有点垃圾,这个比较好,还有中文。

  1. $ sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:stable
  2. # Tail the logs to show Rancher
  3. $ sudo docker logs -f <CONTAINER_ID>
  4. # 之后进入web可以设置中文,官方也有中文文档就不详说了,简单易用。记得使用github做用户授权。

docker部署mysql

使用docker来部署mysql,注意数据持久化

  1. $ docker pull mysql
  2. $ mkdir mysql_data
  3. $ docker run -d --name mysql \
  4. -v /home/ubuntu/mysql_data:/var/lib/mysql \
  5. -p 3306:3306 \
  6. -e MYSQL_ROOT_PASSWORD=my-secret-pw \ mysql:latest
  7. # -d 后台运行模式
  8. # -v 目录映射
  9. # -p 端口映射
  10. # -e 环境变量
  11. # 对所有的 A:B,A表示宿主机项,B表示容器项
  12. # 设置可外网连接mysql(可选)
  13. $ docker exec -it huas-mysql /bin/bash
  14. $ mysql -u root -p
  15. mysql>alter user 'root'@'%' identified with mysql_native_password by '123456';
  16. # 注意改了密码
  17. # 改完可以保存一下docker镜像免得再弄
  18. $ docker commit <container_id/name> <new_images_name>

docker部署yapi

Yapi 由 YMFE 开源,旨在为开发、产品、测试人员提供更优雅的接口管理服务,可以帮助开发者轻松创建、发布、维护 API。

  1. # 1、创建 MongoDB 数据卷
  2. $ docker volume create mongo_data_yapi
  3. # 2、启动 MongoDB
  4. $ docker run -d --name mongo-yapi -v mongo_data_yapi:/data/db mongo
  5. # 3、获取 Yapi 镜像,版本信息可在 阿里云镜像仓库 查看
  6. $ docker pull registry.cn-hangzhou.aliyuncs.com/anoy/yapi
  7. # 4、初始化 Yapi 数据库索引及管理员账号
  8. $ docker run -it --rm \
  9. --link mongo-yapi:mongo \
  10. --entrypoint npm \
  11. --workdir /api/vendors \
  12. registry.cn-hangzhou.aliyuncs.com/anoy/yapi \
  13. run install-server
  14. # 自定义配置文件挂载到目录 /api/config.json
  15. # 5、启动 Yapi 服务
  16. $ docker run -d \
  17. --name yapi \
  18. --link mongo-yapi:mongo \
  19. --workdir /api/vendors \
  20. -p 3000:3000 \
  21. registry.cn-hangzhou.aliyuncs.com/anoy/yapi \
  22. server/app.js
  23. 使用 Yapi
  24. 访问 http://localhost:3000 登录账号 admin@admin.com,密码 ymfe.org

docker部署redis

redis缓存数据库

  1. $ docker pull redis
  2. $ docker run -v /home/ubuntu/redis_data:/data -p 6379:6379 --name redis -d redis redis-server --appendonly yes --requirepass "mypassword"

安装nodejs环境

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。js利器。

  1. # 安装低版本node
  2. $ sudo apt-get install nodejs
  3. $ sudo apt install nodejs-legacy
  4. $ sudo apt install npm
  5. # 更新淘宝镜像
  6. $ sudo npm config set registry https://registry.npm.taobao.org
  7. # 查看配置是否生效
  8. $ sudo npm config list
  9. # 安装版本更新工具N
  10. $ sudo npm install n -g
  11. # 更新nodejs到最新版本
  12. $ sudo n stable

启用/关闭虚拟内存

内存有点不够用,怕崩。

  1. # 查看内存情况使用情况
  2. $ sudo free -mh
  3. # 查看当前系统是否存在swap
  4. $ sudo swapon -s
  5. # 新建4G虚拟内存
  6. $ sudo fallocate -l 4G /swapfile
  7. # 设置root读写权限
  8. $ sudo chmod 600 /swapfile
  9. # 通知系统挂载
  10. $ sudo mkswap /swapfile
  11. # 通知系统启用swap
  12. $ sudo swapon /swapfile
  13. # 开机自动加载
  14. $ sudo vi /etc/fstab
  15. # 打开文件后,最后面添加一行
  16. /swapfile none swap sw 0 0
  17. # wq保存
  18. # 关闭虚拟内存
  19. $ sudo swapoff /swapfile
  20. $ sudo rm /swapfile