一. 部署B(yǎng)BS
-
項目文件導(dǎo)入:
項目放到opt下, 下面的day1130為項目名
將數(shù)據(jù)轉(zhuǎn)為sql文件放到opt下 -
創(chuàng)建bbs數(shù)據(jù)庫, 并運行sql文件寫入數(shù)據(jù)
mysql> create database bbs charset utf8mb4; mysql> use bbs mysql> ource /opt/bbs.sql -
修改settings.py的數(shù)據(jù)庫配置
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'bbs', 'HOST': "10.0.0.100", 'USER': 'bbs', 'PASSWORD': '123', 'PORT': 3306, } } -
創(chuàng)建mysql的bbs用戶
mysql> grant select,update,delete ,insert on bbs.* to bbs@'10.0.0.%' identified by '123'; 測試: mysql -ubbs -p123 -h10.0.0.100 -
配置nginx
vim /etc/nginx/conf.d/py.conf server { listen 80; server_name 10.0.0.100; client_max_body_size 100M; location /static { alias /opt/day1130/static/; } location /media { alias /opt/day1130/media; } location / { index index.html; include uwsgi_params; uwsgi_pass 127.0.0.1:9091; # 這里配置的day1130是settings.py所在的文件夾.wsgi uwsgi_param UWSGI_SCRIPT day1130.wsgi; # 這里配置的項目根目錄的路徑 uwsgi_param UWSGI_CHDIR /opt/day1130; } } -
配置uwsgi
關(guān)閉所有已有的uwsgi進程: kill -9 `ps -ef |grep uwsgi|awk {'print $2'}` 寫配置文件: vim /opt/day1130/uwsgi.ini [uwsgi] socket = 127.0.0.1:9091 master = true workers = 2 reload-mercy = 10 vacuum = true max-requests = 1000 limit-as = 512 buffer-size = 30000 -
啟動uwsgi
uwsgi --ini /opt/day1130/uwsgi.ini
二. ansible的安裝與使用
-
安裝ansible
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum install ansible -y curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo -
創(chuàng)建多臺服務(wù)器的環(huán)境(克隆一臺虛擬機代替)
主機關(guān)機,克隆機開機,進入克隆機 修改克隆機名為 standby hostnamectl set-hostname standby 修改IP地址 vim /etc/sysconfig/network-scripts/ifcfg-eth0 刪除UUID, 改下ip地址 : IPADDR=10.0.0.200 修改host文件 echo "改后的ip 改后的主機名">>/etc/hosts 重啟網(wǎng)卡 systemctl restart network -
秘鑰鏈接的使用
生成秘鑰 ssh-keygen 公鑰推給另一臺機器 ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.200 給自己一個秘鑰 ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.200 測試 ssh 10.0.0.200 date -
將這幾個ip放到一個組,方便以后批量調(diào)用
vim /etc/ansible/hosts [web] 10.0.0.100 10.0.0.200 -
測試
[root@wzj ~]# ansible web -m ping 顯示如下則成功 10.0.0.200 | SUCCESS => { "changed": false, "ping": "pong" } 10.0.0.100 | SUCCESS => { "changed": false, "ping": "pong" } [root@wzj ~]# ansible all -m shell -a "df -h" 顯示如下則成功 10.0.0.200 | CHANGED | rc=0 >> 文件系統(tǒng) 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root 47G 9.3G 38G 20% / devtmpfs 478M 0 478M 0% /dev tmpfs 489M 0 489M 0% /dev/shm tmpfs 489M 6.7M 482M 2% /run tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 1014M 125M 890M 13% /boot tmpfs 98M 0 98M 0% /run/user/0 10.0.0.100 | CHANGED | rc=0 >> 文件系統(tǒng) 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root 47G 9.3G 38G 20% / devtmpfs 478M 0 478M 0% /dev tmpfs 489M 124K 489M 1% /dev/shm tmpfs 489M 6.7M 482M 2% /run tmpfs 489M 0 489M 0% /sys/fs/cgroup /dev/sda1 1014M 125M 890M 13% /boot tmpfs 98M 0 98M 0% /run/user/0 ansible playbook自動化批量安裝nginx
1. 寫劇本
vim playbook_nginx.yml
- hosts: web
remote_user: root
vars:
http_port: 80
tasks:
- name: Add Nginx Yum Repository
yum_repository:
name: nginx
description: Nginx Repository
baseurl: http://nginx.org/packages/centos/7/$basearch/
gpgcheck: no
- name: Install Nginx Server
yum: name=nginx state=present
- name: Configure Nginx Server
template: src=./default.conf.template dest=/etc/nginx/conf.d/default.conf
notify: Restart Nginx Server
- name: Start Nginx Server
service: name=nginx state=started enabled=yes
handlers:
- name: Restart Nginx Server
service: name=nginx state=restarted
2.default.conf.template文件如下
cat default.conf.template
server {
listen {{ http_port }};
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
3. 執(zhí)行ansible-playbook
檢查語法
ansible-playbook --syntax playbook_nginx.yml
模擬執(zhí)行
ansible-playbook -C playbook_nginx.yml
執(zhí)行
ansible-playbook playbook_nginx.yml
三. Docker的安裝使用
-
安裝docker:
curl http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo 安裝依賴 yum install -y yum-utils device-mapper-persistent-data lvm2 顯示Docker的所有版本: yum list docker-ce.x86_64 --showduplicates | sort -r 選擇一個版本安裝 yum install -y --setopt=obsoletes=0 \ docker-ce-17.03.2.ce-1.el7.centos.x86_64 \ docker-ce-selinux-17.03.2.ce- 1.el7.centos.noarch -
啟動Docker
systemctl daemon-reload systemctl restart docker -
鏡像加速
mkdir -p /etc/docker vim /etc/docker/daemon.json { "registry-mirrors": ["https://68rmyzg7.mirror.aliyuncs.com"] } -
使用docker裝一些其他的環(huán)境,用于項目在其他系統(tǒng)上測試
docker pull centos:6.9 docker pull centos:7.5.1804 docker pull nginx -
查看下了哪些鏡像
docker images -
啟用centos6.9鏡像
docker run -it centos:6.9 -
查看當前所在鏡像
[root@wzj ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) -
查詢鏡像
docker images 所有的鏡像 docker images -q 只看鏡像ID docker inspect ID/name:tag 鏡像的詳細信息 docker images --no-trunc 所有的鏡像的詳細信息刪除鏡像 docker rmi -f ID/name:tag docker rmi -f `docker images -q` 批量刪除所有鏡像 -
導(dǎo)入導(dǎo)出鏡像
導(dǎo)出: docker save ID/name:tag >/tmp/xxx.tar 導(dǎo)入: docker load -i /tmp/xxx.tar