一款代码部署、应用部署、计划任务、设备资产管理平台。
编程语言:Python2.7 + HTML + JScripts
前端Web框架:Bootstrap
后端Web框架:Django
后端Task框架:Celery + Redis
编程语言:Python 2.7
操作系统:CentOS 6+
Ansible版本:2.0 +
部署平台及节点服务器:Rsync 3+
MySQL版本:5.1-5.6
一、安装Python
# yum install zlib zlib-devel readline-devel sqlite-devel bzip2-devel openssl-devel gdbm-devel libdbi-devel ncurses-libs kernel-devel libxslt-devel libffi-devel python-devel mysql-devel zlib-devel mysql-server sshpass -y # wget http://mirrors.sohu.com/python/2.7.12/Python-2.7.12.tgz # tar -xzvf Python-2.7.12.tgz # cd Python-2.7.12 # ./configure # make all # make install # make clean # make distclean # mv /usr/bin/python /usr/bin/python2.6.6 # ln -s /usr/local/bin/python2.7 /usr/bin/python # vi /usr/bin/yum 将文件头部的 #!/usr/bin/python 改成 #!/usr/bin/python2.6.6
二、安装easy_install
# wget --no-check-certificate https://pypi.python.org/packages/f7/94/eee867605a99ac113c4108534ad7c292ed48bf1d06dfe7b63daa51e49987/setuptools-28.0.0.tar.gz#md5=9b23df90e1510c7353a5cf07873dcd22 # tar -xzvf setuptools-28.0.0.tar.gz # cd setuptools-28.0.0 # python setup.py install
三、安装pip
# wget --no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gz -O pip-1.5.5.tar.gz # tar -xzvf pip-1.5.5.tar.gz # cd pip-1.5.5/ # python setup.py install
四、安装模块
# pip install django==1.8.17 # pip install Celery # pip install django-celery # pip install celery-with-redis # pip install djangorestframework # pip install paramiko # pip install ansible==2.2.2 # pip install redis # pip install supervisor # pip install redis # pip install MySQL-python # pip install DBUtils
五、安装Redis
# wget http://download.redis.io/releases/redis-3.2.8.tar.gz # tar -xzvf redis-3.2.8.tar.gz # cd redis-3.2.8 # make # make install # vim redis.conf
修改以下配置
daemonize yes loglevel warning logfile "/var/log/redis.log" bind 你的服务器ip地址
# cd ../ # mv redis-3.2.8 /usr/local/redis # /usr/local/redis/src/redis-server /usr/local/redis/redis.conf
六、配置MySQL
# vim /etc/my.cnf [mysqld] default-character-set = utf8 character_set_server = utf8 添加以上字段
# mysql -uroot -p mysql> create database opsmanage; mysql> grant all privileges on opsmanage.* to root@'%' identified by 'password'; mysql>\q # /etc/init.d/mysqld restart
七、配置OpsManage
# cd /path/OpsManage/OpsManage # vim settings.py BROKER_URL = redis://192.168.1.233:6379/3 #修改成自己的配置 REDSI_KWARGS_LPUSH = {"host":'192.168.1.233','port':6379,'db':3} #修改成自己的配置 DATABASES = { 'default': { 'ENGINE':'django.db.backends.mysql', 'NAME':'opsmanage', 'USER':'root', #修改成自己的配置 'PASSWORD':'welliam', #修改成自己的配置 'HOST':'192.168.1.233' #修改成自己的配置 # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } } STATICFILES_DIRS = ( ‘/yourpath/OpsManage/OpsManage/static/', #修改成自己的配置 ) TEMPLATE_DIRS = ( # os.path.join(BASE_DIR,'mysite\templates'), ‘/yourpath/OpsManage/OpsManage/templates/', #修改成自己的配置 )
八、生成数据表与管理员账户
# cd /yourpath/OpsManage/ # python manage.py migrate # python manage.py createsuperuser
九、启动部署平台
# cd /yourpath/OpsManage/ # python manage.py runserver ip:8000
十、配置证书认证
# ssh-keygen -t rsa # ssh-copy-id -i ~/.ssh/id_rsa.pub root@ipaddress
十一、配置Celery异步任务系统
# echo_supervisord_conf > /etc/supervisord.conf # vim /etc/supervisord.conf 最后添加 [program:celery-worker] command=/usr/bin/python manage.py celery worker --loglevel=info -E -c 2 directory=/yourpath/OpsManage stdout_logfile=/var/log/celery-worker.log autostart=true autorestart=true redirect_stderr=true stopsignal=QUIT numprocs=1 启动celery # /usr/local/bin/supervisord -c /etc/supervisord.conf # supervisorctl status
注意:
1、部署服务器到节点服务器请配置ssh证书认证。
2、上传Ansible剧本文件,host字段设置为变量。
3、如果有bug请提交issue到https://github.com/welliamcao/OpsManage
到目前为止,我们前面已经介绍了如何开发程序、调试程序以及测试程序,正如人们常说的:开发最后的10%需要花费90%的时间,所以这一章我们将强调这最后的10%部分,要真正成为让人信任并使用的优秀应用,需要考虑到一些细节,以上所说的10%就是指这些小细节。 本章我们将通过四个小节来介绍这些小细节的处理,第一小节介绍如何在生产服务上记录程序产生的日志,如何记录日志,第二小节介绍发生错误时我们的程序如何处理
2.16 投的简历后收到测评 3.1 hr打电话➕vx约了第二天下午面试,感觉面的稀烂 1.自我介绍 2.我的项目 3.平时除了老师布置的任务自己有没有做过其他的内容,或对什么比较感兴趣,(我说的是前端,然后面试官问了一些前端的东西) 3.子网掩码是什么,255.255.255.0有多少个主机 4.linux和数据库了解多少 5.毕设的进度,毕设大概做的是什么 6.哪里人,去过深圳上海没,能不能接
二进制运行 git clone https://github.com/apache/shardingsphere-ui.git; 运行 mvn clean install -Prelease; 获取安装包 /shardingsphere-ui/shardingsphere-ui-distribution/target/apache-shardingsphere-${latest.release.v
部署启动 执行以下命令,编译生成 ShardingSphere-Scaling 二进制包: git clone https://github.com/apache/shardingsphere.git; cd shardingsphere; mvn clean install -Prelease; 发布包所在目录为:/shardingsphere-distribution/shardingsp
首先说明:这面试官感觉完全不负责任,就是来完成任务的 下午打电话来约了面试,说晚上七点就面,然后邮件就发来了如流的面试链接 七点的时候,直接打电话说面试,说也不用进会议了,直接就面吧(感觉就是来应付应付),而且,不知道为什么他那边一直有点吵吵的,有些问题我也听不了多清楚 1.mysql a表和b表怎么合在一起查询,我说可以使用链接聚合在一起,用left join或者是right join, 或者是
一面2023/9/27(10 mins) 1、自我介绍 2、意向城市,岗位 3、如何理解运维开发 4、反问 —————————————————————— 微信电话直接面试的,而且感觉对方环境好吵,听都听不清,感觉是KPI面