OMS自动化运维平台部署

一、基础环境安装

yum -y install mariadb mariadb-devel mariadb-server wget epel-release python-devel gcc c++ make openssl openssl-devel passwd libffi libffi-devel pyOpenSSL git
yum -y install salt-master salt-minion salt-api nginx
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py

二、配置salt-api

pip install pyOpenSSL==0.15.1  -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
useradd -M -s /sbin/nologin saltapi && echo "password"|/usr/bin/passwd saltapi --stdin
salt-call --local tls.create_self_signed_cert

1.配置文件修改

cat > /etc/salt/master <<EOF
interface: 0.0.0.0 external_auth:
pam:
saltapi:
- .*
- '@wheel'
- '@runner'
- '@jobs' rest_cherrypy:
port: 8000
ssl_crt: /etc/pki/tls/certs/localhost.crt
ssl_key: /etc/pki/tls/certs/localhost.key file_recv: True include: /data/www/SOMS/saltconfig/*.conf
EOF

2.启动服务,测试salt-api

systemctl start salt-master salt-api salt-minion
curl -sSk https://localhost:8000/login -H 'Accept: application/x-yaml' -d username=saltapi -d password=password -d eauth=pam

三、部署soms项目

#克隆项目
cd /data/www/
git clone https://github.com/qitan/SOMS.git
#安装依赖
cd SOMS
pip install -r requirements.txt
#同步数据库
python manage.py makemigrations
python manage.py migrate
#创建管理员
python manage.py createsuperuser
#配置文件修改
vim soms/settings_local.py里的相关信息
#runserver运行检查是否正常
python manage.py runserver 0.0.0.0:8080

四、被管理端minion配置

#安装
yum -y install salt-minion
#将master ip添加到hosts
vim /etc/hosts
127.0.0.1 master
sed -i 's/#master:.*/master: master/' /etc/salt/minion
#设置minion标识,设置为ip地址
echo "local ip" > /etc/salt/minion_id
#启动
systemctl restart salt-minion
#master主机上执行认证
salt-key -L
salt-key -A -y
检查master主机是否能正常在minion上执行命令
salt '*' test.ping

五、uwsgi+nginx结合配置

1.编写uwsgi配置

cat > soms.ini <<EOF
[uwsgi]
chdir=/data/www/SOMS/
module=soms.wsgi:application
master=True
pidfile=/data/www/SOMS/soms.pid
vacuum=True
max-requests=1000
daemonize=/data/www/SOMS/soms.log
socket = 0.0.0.0:10000
#http = 0.0.0.0:10000
EOF

2.安装uwsgi并运行

pip install uwsgi -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
uwsgi --http 0.0.0.0:10000 --module soms.wsgi

3.安装nginx并编写nginx配置文件

$ yum -y install nginx
$ cat > /etc/nginx/conf.d/soms.test.com.conf <<EOF
server
{
listen 80;
server_name soms.test.com; access_log /data/www/SOMS/soms.test.com.access.log main; location / {
root /data/www/SOMS; ## uwsgi配置的端口
uwsgi_pass 127.0.0.1:10000;
include uwsgi_params;
uwsgi_param UWSGI_CHDIR /data/www/SOMS;
uwsgi_param UWSGI_SCRIPT wsgi;
}
location ~ .*\.(log|php|pl|py|sh|cgi)$ {
return 403;
}
location /static/ {
root /data/www/SOMS;
access_log off;
}
location ~ .*\.(gif|jpg|png|htm|html|css|js|flv|ico|swf)(.*) {
root /data/www/SOMS;
expires 30d;
}
location ~ .*\.(js|css)?(.*)
{
root /data/www/SOMS;
expires 12h;
}
}
EOF
#启动nginx
systemctl restart nginx

最新文章

  1. OD18
  2. Codeforces Round #260 (Div. 2) A~C
  3. yii phpexcel &lt;转&gt;
  4. Java DatagramSocket(UDP)要注意的问题
  5. rsync unison+inotify双向实时同步
  6. Average of Levels in Binary Tree
  7. Myeclipse在debug模式下没加断点程序卡住,start模式下可以正常启动
  8. idea 中add configuration
  9. Android Studio3.1.2升级问题:Configuration &#39;compile&#39; is obsolete and has been replaced with &#39;implementation&#39;.
  10. 解决vue单页路由跳转后scrollTop的问题
  11. 小程序 wepy wx.createAnimation 向右滑动渐入渐出
  12. 移动端取消touch高亮效果
  13. listView 解决焦点冲突问题 item项和子控件之间的冲突
  14. PMK数据生成工具airolib-ng
  15. 《Lua程序设计》第4章 语句 学习笔记
  16. C++学习笔记(二)——交换函数(swap)
  17. puts,p,print的区别
  18. python modules and packages
  19. Date时间格式比较大小
  20. [Jobdu] 题目1369:字符串的排列

热门文章

  1. EF Core 快速上手——创建应用的DbContext
  2. AI产品的商业模式
  3. Vue slot插槽
  4. 《JavaScript高级程序设计》笔记:事件(十三)
  5. 【设计模式】单例模式 Singleton Pattern
  6. OpenCL——把vector变成scalar
  7. 通用HttpClientUtil工具类
  8. PHP下CodeIgniter框架连接读取MS Access数据库文件
  9. emacs 只读打开文件
  10. oracle异地备份