在服务器上部署上线项目

Linux数据库处理

  首先我们需要在mysql中创建bbs库,并导入数据库SQL脚本(就是原本运行在我们项目中的数据库)

前提:需要进入mysql中

mysql> create database bbs charset utf8mb4;
mysql> use bbs
mysql> source /opt/bbs.sql
mysql> drop database bbs;

  同时我们需要在Django项目中的setting.py配置文件,修改一下两处

ALLOWED_HOSTS = ['*']

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'bbs',
'HOST': "10.0.0.100",
'USER': 'root',
'PASSWORD': '123',
'PORT': 3306,
}

  并且我们需要在MYSQL中定义用户

白名单: 主机域IP地址
只允许本机访问mysql
root@'localhost'
root@'10.0.0.110'
root@'10.0.0.%'
root@'10.0.0.0/255.255.240.0'
root@'10.0.0.5%'
root@'%'
grant all
grant select,update,insert

 

项目部署

  首先需要配置Nginx

vim /etc/nginx/conf.d/py.conf
配置Nginx配置文件
server {
listen 80;
server_name 10.0.0.100;
client_max_body_size 100M; 开设一个外网访问的接口
location /static {
alias /opt/BBS/static/;
}
开设一个外网访问的接口
location /media {
alias /opt/BBS/media;
} location / {
index index.html;
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
uwsgi_param UWSGI_SCRIPT BBS.wsgi;
uwsgi_param UWSGI_CHDIR /opt/BBS;
}
}

  配置uwsgi

关闭所有已有的uwsgi进程
kill -9 `ps -ef |grep uwsgi|awk {'print $2'}` vim uwsgi.ini
配置uwsgi的设置
[uwsgi]
socket = 127.0.0.1:9090
master = true
workers = 2
reload-mercy = 10
vacuum = true
max-requests = 1000
limit-as = 512
buffer-size = 30000

  启动uwsgi

uwsgi --ini uwsgi.ini &

  重启nginx

systemctl restart nginx

Python 在运维工作中的经典应用

  1.安装ansible

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install ansible -y

  克隆虚拟机

hostnamectl set-hostname standby
设置其地址,并且删除UUID行
vim /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=10.0.0.200
UUID行删掉
在host文件中增加一行
vim /etc/hosts
10.0.0.200 standby
同时重启network
systemctl restart network

  Linux的 SSHD(22)
    验证方式:
    (1)用户+密码(PAM)
    (2)秘钥验证(公钥:钥匙和私钥:锁)
     通过秘钥对实现,需要将公钥分发到各节点

  接着我们需要管理被控端,管理机先生成秘钥,然后推送公钥(注意要对自己的机器也进行推送)

ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.200 for i in {1..12};do ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.$i;done

  配置一些被管理的主机清单

vim /etc/ansible/hosts
写入
[web]
10.0.0.100
10.0.0.200

  在尝试跑剧本时,我们现需要进行测试

ansible all -m ping
ansible all -m shell -a "df -h"

  然后我们再把剧本写好(关于自动化安装nginx)

 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

  接着配置一下默认设置模板文件

vim default.conf.template
写入
server {
listen {{ http_port }};
server_name localhost; location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}

  最后执行即可

ansible-playbook

  

day96的更多相关文章

  1. Python学习---Day96

    转载:http://www.cnblogs.com/wupeiqi/articles/6229292.html Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可 ...

  2. python 全栈开发,Day96(Django REST framework 视图,django logging配置,django-debug-toolbar使用指南)

    昨日内容回顾 1. Serializer(序列化) 1. ORM对应的query_set和ORM对象转换成JSON格式的数据 1. 在序列化类中定义自定义的字段:SerializerMethodFie ...

  3. day96:flask:flask-migrate&flask-session&蓝图Blueprint&蓝图的运行机制

    目录 1.flask-migrate 2.flask-session 3.蓝图:Blueprint 4.蓝图的运行机制 1.数据库迁移:flask-migrate 1.Flask的数据库迁移 在开发过 ...

  4. DRF 认证、权限、限制

    DRF 认证.权限.限制   认证: 定义一个用户表和一个保存用户的Token表 # ======================day96======================= class ...

  5. 10.24CRM完成

    2018-10-24 16:16:59 已经完成了crm项目: 项目做完了,这几天可以安静整理Django啦!!!把博客整理一下! 然后再过几天针就可以回学校啦!! 今天程序员节  节日快乐!hell ...

  6. Scrapy框架爬虫

    一.sprapy爬虫框架 pip install pypiwin32 1) 创建爬虫框架 scrapy startproject Project # 创建爬虫项目 You can start your ...

  7. CRM - 讲师与学生

    一.讲师与学生简介 1.初始化 course_record, study_record.2.学习记录3.录入成绩4.显示成绩 ajax 查询 柱状图展示成绩 highcharts 5.上传作业(os模 ...

  8. CRM - 销售与客户

    一.销售与客户 - 表结构 ---公共客户(公共资源) 1.没有报名 2.3天没有跟进 3.15天没有成单 客户分布表 龙泰 男 yuan 2018-5-1 3天未跟进 龙泰 男 三江 2018-5- ...

  9. scrapy爬虫

    a. 配置文件 #settings.py DEPTH_LIMIT = 1 #指定“递归”的层数 ROBOTSTXT_OBEY = False #对方网站规定哪些网址可以爬,这个选项表示不遵循此规定 b ...

随机推荐

  1. SAP MM 没有维护MRP 视图的物料可以正常参与采购业务

    SAP MM 没有维护MRP 视图的物料可以正常参与采购业务 Material number: R000006872,没有维护MRP 视图, ​ 也就是没有指定该物料来源是采购还是自制.此种情况下,S ...

  2. mysql数据库的备份和恢复

    Mysql数据库的备份和恢复 1.备份单个数据库 mysql数据库自带了一个很好用的备份命令,就是mysqldump,它的基本使用如下: 语法:mysqldump –u <用户名> -p ...

  3. GIS开发之计算四参数,七参数

    一.四参数 想要通过控制点计算四参数,首先需要知道四参数的相关原理,推荐这篇文章: http://www.docin.com/p-1197326043.html 根据上面的计算公式,使用最小二乘法计算 ...

  4. RobotFramework 官方demo Quick Start Guide rst配置文件分析

    RobotFramework官方demo Quick Start Guide rst配置文件分析   by:授客 QQ:1033553122     博客:http://blog.sina.com.c ...

  5. 使用adb命令通过IP地址连接手机

    前提:已经通过USB设备线连接过电脑,并成功安装驱动. adb连接手机进行调试有两种方式,一种是使用USB线,另一种是使用无线WiFi. 第一种  使用USB线连接 1. 在手机上启用USB调试 2. ...

  6. 【爬虫】在使用xpath时,排除指定标签

    xpath排除某个节点 主要时应用name()这个函数获取便签名 res = html.xpath("//*[name(.)!='style']")

  7. (python)数据结构---元组

    一.描述 一个有序的元素组成的集合 元组是不可变的线性数据结构 二.元组的相关操作 1.元组元素的访问 索引不可超界,否则抛异常IndexError 支持正负索引 t = (2, 3) print(t ...

  8. Bootstrap table 分页 In asp.net MVC

    中文翻译文档: http://blog.csdn.net/rickiyeat/article/details/56483577 版本说明: Jquery v2.1.1 Bootstrap V3.3.7 ...

  9. kali linux源大全

    输入leafpad /etc/apt/sources.list进入        #官方源 deb http://http.kali.org/kali kali main non-free contr ...

  10. The operation could not be performed because OLE DB provider "SQLNCLI11" for linked server "SDSSDFCC...

    The operation could not be performed because OLE DB provider "SQLNCLI11" for linked server ...