自動化運維項目

安裝一臺Ubuntu 16.04  4C 4g 100Gpython

  切換到root,先改root密碼:sudo passwd root -->密碼:1mysql

  su rootgit

  安裝VMware Tools,重啓生效github

 

1、python安裝redis

一、基礎開發庫:apt-get install gcc         apt-get install openssl libssl-devsql

二、安裝數據庫和開發庫:apt-get install mysql-server libmysqld-dev      (安裝成功後須要定義MySQL的密碼:123456)mongodb

三、python環境:              下載地址:https://www.python.org/downloads/shell

tar -xvf Python-2.7.10.tar.xz數據庫

cd Python-2.7.10/django

./configure --prefix=/opt/python2.7

make

make install

echo "export PATH=/opt/python2.7/bin:\$PATH" > /etc/profile.d/python.sh

echo $PATH

which python

mkdir ~/.python-eggs

chmod +w ~/.python-eggs

echo "export PATH=/opt/python2.7/bin:\$PATH" > /etc/profile.d/python.sh

export PATH=/opt/python2.7/bin:$PATH

2、setuptools安裝 要使用easy_install工具,那麼須要安裝setuptools,方式以下:

  下載地址:https://pypi.python.org/pypi/setuptools

方式以下:

unzip setuptools-28.8.0.zip

cd setuptools-28.8.0/

/opt/python2.7/bin/python ./setup.py install

4、pip安裝:

apt-get install python-pip

    (http://blog.51cto.com/tangyade/2118377               /opt/python2.7/bin/pip install -r ./requirements.txt)

 

5、git安裝:

apt-get install git

git clone https://github.com/iopsgroup/imoocc

工程所需模塊安裝: 注意要cd到 imoocc目錄下

root@jidong-virtual-machine:/home/jidong/imoocc# pip install -r ./requirements.txt

----------------------------------------看到下面的信息 就成功了-----------------------------------

Successfully installed Django-1.8.2 Jinja2-2.10 MarkupSafe-1.0 MySQL-python-1.2.5 PyNaCl-1.2.0 PyYAML-3.12 Pygments-2.2.0 Whoosh-2.7.4 ansible-2.4.1.0 appnope-0.1.0 asn1crypto-0.23.0 backports.shutil-get-terminal-size-1.0.0 bcrypt-3.1.4 certifi-2017.7.27.1 cffi-1.11.2 chardet-3.0.4 cryptography-2.1.3 decorator-4.1.2 diff-match-patch-20121119 django-crispy-forms-1.7.0 django-crontab-0.7.1 django-formtools-2.1 django-import-export-0.5.1 enum34-1.1.6 et-xmlfile-1.0.1 future-0.16.0 httplib2-0.9.2 idna-2.6 ipaddress-1.0.18 ipython-5.5.0 ipython-genutils-0.2.0 jdcal-1.3 jieba-0.39 ldap3-2.4 odfpy-1.3.5 openpyxl-2.4.9 paramiko-2.4.0 pathlib2-2.3.0 pexpect-4.2.1 pickleshare-0.7.4 ply-3.10 prompt-toolkit-1.0.15 ptyprocess-0.5.2 pyasn1-0.3.7 pycparser-2.18 pycrypto-2.6.1 pycryptodome-3.4.7 pymongo-3.5.1 pysmi-0.1.3 pysnmp-4.3.9 python-nmap-0.6.1 pytz-2017.3 pyvmomi-6.5.0.2017.5.post1 redis-2.10.6 requests-2.18.4 scandir-1.6 simplegeneric-0.8.1 simplejson-3.13.2 six-1.11.0 tablib-0.12.1 traitlets-4.3.2 unicodecsv-0.14.1 urllib3-1.22 wcwidth-0.1.7 xadmin-0.6.1 xlrd-1.1.0 xlwt-1.3.0

-------------------------------------------------------------------------------------------------------------

6、安裝數據庫MySQL、MongoDB(日誌事件存取)、Redis(鍵值對key value)

apt-get install mysql-server

apt-get install redis-server

apt-get install mongodb

一、啓動MySQL數據庫:

root@jidong-virtual-machine:/home/jidong# /etc/init.d/mysql start
[ ok ] Starting mysql (via systemctl): mysql.service.

  測試鏈接數據庫:

  root@jidong-virtual-machine:/home/jidong# mysql -uroot -p            密碼:123456
  Server version: 5.7.25-0ubuntu0.16.04.2 (Ubuntu)           版本

========================解決Ubuntu vi編輯器問題=====================

vi /etc/vim/vimrc.tiny 文件下

set nocompatible         在compatible前加no
set backspace=2         添加一行

=================================================================

二、啓動MongoDB:

  root@jidong-virtual-machine:/home/jidong/imoocc# /etc/init.d/mongodb start
  [ ok ] Starting mongodb (via systemctl): mongodb.service.

  修改默認監聽端口(127.0.0.1):

  root@jidong-virtual-machine:/home/jidong/imoocc# netstat -luntp |grep mongo
  tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      29940/mongod

  vi /etc/mongodb.conf

  #bind_ip = 127.0.0.1
  bind_ip = 0.0.0.0

  重啓MongoDB:/etc/init.d/mongodb restart

  測試鏈接:

  root@jidong-virtual-machine:/home/jidong/imoocc# mongo
  MongoDB shell version: 2.6.10

三、啓動Redis:

  修改默認監聽端口(127.0.0.1)

  vi /etc/redis/redis.conf

  #bind 127.0.0.1        把他改成下面
  bind 0.0.0.0

  root@jidong-virtual-machine:/home/jidong# /etc/init.d/redis-server start
  [ ok ] Starting redis-server (via systemctl): redis-server.service.

  測試:

  root@jidong-virtual-machine:/home/jidong# redis-cli
  127.0.0.1:6379>

https://www.imooc.com/article/22072

 

7、配置MySQL鏈接:

root@jidong-virtual-machine:/home/jidong/imoocc# vi admin/settings/settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'imoocc',                                      數據庫名
        'USER': 'imoocc',            用戶名 和 密碼
        'PASSWORD': 'imoocccom',
        'HOST': '127.0.0.1',

去數據庫建立 相對應的數據庫 和用戶名密碼

二、修改數據庫的默認字符集爲utf8:

vi /etc/mysql/my.cnf

[client]

default-character-set=utf8

[mysqld]

character-set-server=utf8 collation-server=utf8_general_ci

重啓MySQL數據庫

 

三、建立數據庫

mysql> create database imoocc;

四、添加用戶 和 受權:

mysql> grant all on imoocc.* to imoocc@'127.0.0.1' identified by '123456';

mysql> flush privileges;          刷新受權表

五、修改配置文件裏的密碼:

root@jidong-virtual-machine:/home/jidong/imoocc# vi admin/settings/settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'imoocc',
        'USER': 'imoocc',
        'PASSWORD': '123456',                      密碼

六、數據庫表結構的生成: 使用Django的model建表

注意先安裝Django:root@jidong-virtual-machine:/home/jidong/imoocc# apt-get install python-django        默認安裝在自帶的Python下,而不是opt下的Python

cd /opt/python2.7/bin

wget https://bootstrap.pypa.io/get-pip.py            下載pip

python get-pip.py                                                安裝pip

/opt/python2.7/bin/pip install django                    安裝Django

/opt/python2.7/bin/pip install django-crontab

/opt/python2.7/bin/pip install django-crispy-forms

/home/jidong/imoocc/admin
root@jidong-virtual-machine:/home/jidong/imoocc/admin# cat __init__.py
import pymysql                                        添加
pymysql.install_as_MySQLdb()

/opt/python2.7/bin/pip install django-pymysql              安裝pymysql

 

/opt/python2.7/bin/pip install future six httplib2

/opt/python2.7/bin/pip install django-import-export

/opt/python2.7/bin/pip install crypto

/opt/python2.7/bin/pip install pycrypto

/opt/python2.7/bin/pip install ansible

/opt/python2.7/bin/pip install pymongo

下載Redis: https://github.com/andymccurdy/redis-py

 root@jidong-virtual-machine:/opt/python2.7/bin# unzip redis-py-master.zip

root@jidong-virtual-machine:/opt/python2.7/bin/redis-py-master# python setup.py install

 

root@jidong-virtual-machine:/home/jidong/imoocc# /opt/python2.7/bin/python ./manage.py  makemigrations
Migrations for 'detail':
  apps/detail/migrations/0002_auto_20190214_1818.py
    - Alter field datatime on statisticsrecord

 

root@jidong-virtual-machine:/home/jidong/imoocc# /opt/python2.7/bin/python ./manage.py  migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, detail, operations, scanhosts, sessions, users
Running migrations:

查看錶是否建立成功:

mysql -uimoocc -p -h127.0.0.1    密碼:123456

use imoocc

mysql> show tables;

+----------------------------+ | Tables_in_imoocc           | +----------------------------+ | auth_group                 | | auth_group_permissions     | | auth_permission            | | auth_user                  | | auth_user_groups           | | auth_user_user_permissions | | cabinetinfo                | | connectioninfo             | | django_admin_log           | | django_content_type        | | django_migrations          | | django_session             | | hostloginifo               | | machineoperationsinfo      | | netconnectioninfo          | | networkinfo                | | othermachineinfo           | | physicalserverinfo         | | statisticsrecord           | | userinfo                   | | virtualserverinfo          | +----------------------------+

21 rows in set (0.00 sec)

 表建立成功了

 

七、讓工程run起來:

root@jidong-virtual-machine:/home/jidong/imoocc# /opt/python2.7/bin/python ./nage.py runserver 0.0.0.0:8000             默認是監聽127.0.0.1:8000

八、經過瀏覽器訪問:

http://192.168.181.133:8000/

 九、在Ubuntu裏安裝pycharm

 

8、安裝IPython: 三大優勢(自動補全、歷史記錄命令、獲取對象信息)

root@jidong-virtual-machine:/opt/python2.7/bin# /opt/python2.7/bin/pip install ipython

運行ipython

root@jidong-virtual-machine:/opt/python2.7/bin# ./ipython

/opt/python2.7/lib/python2.7/site-packages/IPython/core/history.py:228: UserWarning: IPython History requires SQLite, your history will not be saved   warn("IPython History requires SQLite, your history will not be saved") Python 2.7.10 (default, Feb 13 2019, 15:06:28) Type "copyright", "credits" or "license" for more information.

IPython 5.8.0 -- An enhanced Interactive Python. ?         -> Introduction and overview of IPython's features. %quickref -> Quick reference. help      -> Python's own help system. object?   -> Details about 'object', use 'object??' for extra details.

In [1]:

----------------------------- 獲取對象信息 ---------------------------------------      使用 ?+變量名

In [5]: aa = "oooo"

In [6]: ? aa

Type:        str String form: oooo Length:      4 Docstring:  str(object='') -> string

Return a nice string representation of the object. If the argument is a string, the return value is the same object.

In [7]: def aa():    ...:     print "hi aa"    ...:    

In [8]: ? aa

Signature: aa() Docstring: <no docstring> File:      /opt/python2.7/bin/<ipython-input-7-2c74e151bc24> Type:      function

In [9]: ?? aa

Signature: aa() Source:   def aa():     print "hi aa" File:      /opt/python2.7/bin/<ipython-input-7-2c74e151bc24> Type:      function

----------------------------------------------------------------------------------------

 9、

一、安裝Django:

/opt/python2.7/bin/pip install Django==1.8.2

二、查看Django版本:(1.8.2)

/opt/python2.7/bin/python -m django --version
1.11.20

三、新建項目容器:

/opt/python2.7/bin/django-admin startproject mydevop

四、查看目錄:

root@jidong-virtual-machine:/home/jidong/imoocc/renren/mydevop# pwd
/home/jidong/imoocc/renren/mydevop
root@jidong-virtual-machine:/home/jidong/imoocc/renren/mydevop# ls
manage.py  mydevop

mydevops  是應用目錄

manage.py 是管理工具

root@jidong-virtual-machine:/home/jidong/imoocc/renren/mydevop/mydevop# ls
__init__.py  settings.py  urls.py  wsgi.py

五、建立應用:

/opt/python2.7/bin/python ./manage.py startapp scanhosts

查看:

admin.py  apps.py  __init__.py  migrations  models.py  tests.py  views.py

 

10、

功能:記錄http訪問的IP和用戶ua信息

一、settings文件的配置:

root@jidong-virtual-machine:/home/jidong/imoocc/renren/mydevop/mydevop# vi settings.py

:set nonumber               在vi編輯器裏 設置行號

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))           基礎路徑

把新建的應用scanhosts加入:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'scanhosts',                                          加入
]

配置數據庫的鏈接:

:set paste   格式自動對齊

 DATABASES = {
     'default': {
         'ENGINE': 'django.db.backends.mysql',
         'NAME': 'mydevops',                  庫名
         'USER': 'admin',
         'PASSWORD': 'mysqlpass',
         'HOST': '127.0.0.1',
         'PORT': '',                                  默認是3306
         'OPTIONS', {},
         'init_command': 'SET storage_engine=INNODB,'                   初始化命令:存儲引擎
                         'SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED, au
tocommit=1, names "utf8";',
     }
}

二、models模型建模:ORM 對象關係映射

https://docs.djangoproject.com/zh-hans/2.1/

 

 

三、項目設計:

四、項目開發:

相關文章
相關標籤/搜索