安裝一臺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/
三、項目設計:
四、項目開發: