查看: 1406|回复: 7

[部署文档] 【git源码】平台部署教程

[复制链接]

415

主题

603

帖子

4607

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4607
发表于 2017-2-28 09:19:09 | 显示全部楼层 |阅读模式
平台运行需求环境版本说明:
Python 2.7(推荐采用CentOS7)
Django 1.9.1
Django-Crontab
Mysql or mariadb

部署教程如下,安装完CentOS7之后安装数据库:
  1. yum install mariadb mariadb-server MySQL-python -y
复制代码
编辑“/etc/my.cnf”,添加如下配置:
  1. bind-address = 0.0.0.0
  2. default-storage-engine = innodb
  3. innodb_file_per_table
  4. collation-server = utf8_general_ci
  5. init-connect = 'SET NAMES utf8'
  6. character-set-server = utf8
复制代码
  1. [client]
  2. default-character-set = utf8
复制代码
效果如下:

2017-02-28_091231.png
设mariadb置开机启动:
  1. systemctl enable mariadb.service
复制代码
mariadb服务启动:
  1. systemctl start mariadb.service
复制代码
mariadb安全配置:
  1. mysql_secure_installation
复制代码
*配置就不再详细解说,认真阅读提示即可*

然后登录数据库创建我们所需的数据库及授权:
  1. mysql -u root -p
复制代码
  1. create database Mianbao;
复制代码
  1. grant all privileges on Mianbao.* to 'Mianbao'@'localhost' identified by 'Mianbao123!';
复制代码
*Django 中默认使用的数据库授权就是Mianbao Mianbao123!*  

最后确认一下数据库的编码,确定是utf8就可以了:
  1. show variables like 'char%';
复制代码
2017-03-08_113919.png         

数据库的安装及设置已经告一段落,接下来我们来说一下Python环境的设置,首先安装pip(他是一个类似于Linux 下的Yum的工具,可以直接帮我们安装下载相应的Python 模块):
  1. yum -y install epel-release
  2. yum -y install python-pip
复制代码
运行pip查看安装结果:
2017-02-28_092740.png
Pip安装完毕之后我们开始来安装Django:
  1. pip install Django==1.9.1
复制代码
安装完Django之后我们来安装Django的定时模块:
  1. pip install django-crontab
复制代码
安装完定时模块之后我们来安装Python 控制vMware的Pysphere模块:
  1. pip install pysphere
复制代码
安装所需其他模块:
  1. pip install requests
复制代码
如果安装的时候出现如下的提示:

QQ图片20170228170032.png
请使用如下命令更新pip即可:
  1. pip install --upgrade pip
复制代码

至此环境已基本安装完毕,我们开始来启动我们的程序,在根目录下创建"/web"(你们可以根据自己的需求创建别的也可以),然后上传代码:
2017-02-28_093503.png

上传完毕我们开始来同步数据库,如果数据库创建时的授权与本教程中的授权不一致请修改如下文件进行数据库授权:
2017-02-28_093743.png
修改数下行处的设置即可:
2017-02-28_093821.png
数据库授权设置完毕,我们开始来同步数据库中的表结构:
2017-02-28_093949.png
  1. python manage.py makemigrations vMware application User Mianbao Public
复制代码
  1. python manage.py migrate
复制代码
同步完成之后我们就可以启动Django了,因为我们本身就是一个申请一平台并发量不大,并且同步、数据采集的工作是由后台的Crontab做的,所以在这里直接使用Django的Web启动基本够用了,如果需要http服务的话可以自行搜索教程并根据教程配置:
  1. nohup python manage.py runserver 0.0.0.0:80 &
复制代码
*此方法不再推荐使用,在三楼会提供Apache的配置方式*


然后添加定时任务:

2017-02-28_095033.png
  1. python manage.py crontab add
复制代码
最后别忘记设置firewall:

  1. firewall-cmd --zone=public --add-port=80/tcp --permanent
复制代码
  1. firewall-cmd --reload
复制代码


未完,二楼还有哦
教程未尽之处还望多多指点,大家共同完善!

选一人白头,择一城终老
回复

使用道具 举报

415

主题

603

帖子

4607

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4607
 楼主| 发表于 2017-2-28 15:40:59 | 显示全部楼层
因为重写了pysphere的Clone函数,所以我们要使用如下文件覆盖一下pip安装的文件:
vi_virtual_machine.py (91.99 KB, 下载次数: 43)
选一人白头,择一城终老
回复 支持 反对

使用道具 举报

415

主题

603

帖子

4607

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4607
 楼主| 发表于 2017-3-8 17:19:09 | 显示全部楼层
Apache 运行Django程序
http://mianbao.cn.com/forum.php? ... d=305&fromuid=1
(出处: 面包屑)
选一人白头,择一城终老
回复 支持 反对

使用道具 举报

0

主题

8

帖子

65

积分

注册会员

Rank: 2

积分
65
发表于 2017-3-8 18:43:08 | 显示全部楼层
非常给力啊
回复 支持 反对

使用道具 举报

0

主题

8

帖子

65

积分

注册会员

Rank: 2

积分
65
发表于 2017-3-8 18:43:54 | 显示全部楼层
我想法,把计费功能也加上去
回复 支持 反对

使用道具 举报

415

主题

603

帖子

4607

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4607
 楼主| 发表于 2017-3-8 21:17:09 | 显示全部楼层
卖兜的兜 发表于 2017-3-8 18:43
我想法,把计费功能也加上去

你是做公有云的?还是做内部结算用?
选一人白头,择一城终老
回复 支持 反对

使用道具 举报

0

主题

17

帖子

57

积分

注册会员

Rank: 2

积分
57
发表于 2017-3-10 10:15:43 | 显示全部楼层
屌屌的!!!!!!!!!!!
回复

使用道具 举报

0

主题

8

帖子

65

积分

注册会员

Rank: 2

积分
65
发表于 2017-3-31 00:49:35 | 显示全部楼层
mianbao 发表于 2017-3-8 21:17
你是做公有云的?还是做内部结算用?

公司内部成本中心结算到各个业务板块、业务部门。通过计费了解业务部门的IT投入。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

!jz_fbzt! !jz_sgzt! !jz_xgzt! 快速回复 !jz_sctz! !jz_fhlb!
快速回复 返回顶部 返回列表