安装一台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/
三、项目设计:
四、项目开发: