Skip to content

Instantly share code, notes, and snippets.

@zhanghui9700
Last active September 13, 2016 13:47
Show Gist options
  • Save zhanghui9700/c0da330f2d0787fc2887f5ca5cac01dd to your computer and use it in GitHub Desktop.
Save zhanghui9700/c0da330f2d0787fc2887f5ca5cac01dd to your computer and use it in GitHub Desktop.

1. ubuntu 1404

2. centos 71

cat ./install.sh

#!/bin/sh
set -eu

cat >> /tmp/apache.conf << EOF

test...
test...

EOF
@zhanghui9700
Copy link
Author

centos7.1 部署dashboard

1. 系统确认

[root@dashboard ~]# uname -a
Linux dashboard.fx-dev.com 3.10.0-229.14.1.el7.x86_64 #1 SMP Tue Sep 15 15:05:51 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

[root@dashboard ~]# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)

2. 创建用户

[root@dashboard ~]# groupadd  eoncloud
[root@dashboard ~]# useradd eoncloud -g eoncloud -m -d /opt/eoncloud
[root@dashboard ~]# mkdir /var/log/eoncloud
[root@dashboard ~]# chown -R eoncloud:eoncloud /var/log/eoncloud/

3. 安装依赖

[root@dashboard ~]# yum install -y httpd mod_wsgi
[root@dashboard ~]# systemctl enable httpd
[root@dashboard ~]# systemctl start httpd

[root@dashboard ~]# yum install -y git vim
[root@dashboard ~]# yum install -y libffi libffi-devel
[root@dashboard ~]# yum install -y mysql-devel
[root@dashboard ~]# yum install -y openldap-devel cyrus-sasl-devel

# 安装mysql-server 参考http://www.ahlinux.com/centos/23340.html
[root@dashboard ~]# rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
[root@dashboard ~]# yum -y install mysql-community-server
[root@dashboard ~]# systemctl enable mysqld
[root@dashboard ~]# systemctl start mysqld

# mysql -uroot
>create database cloud_web CHARACTER SET utf8;
>create user cloud_web;
>grant all privileges on cloud_web.* to 'cloud_web'@'%' identified by 'password' with grant option;
>grant all privileges on cloud_web.* to 'cloud_web'@'localhost' identified by 'password' with grant option;
>flush privileges;

安装PIP
[root@dashboard dashboard]# curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py"
[root@dashboard dashboard]# python get-pip.py

安装virtualenv
[root@dashboard dashboard]# yum -y install python-virtualenv

4.部署

[root@dashboard www]# git clone https://xxxxx.git.com/dashboard.git

[root@dashboard dashboard]# git checkout -b develop origin/develop

[root@dashboard dashboard]# virtualenv .venv
[root@dashboard dashboard]# echo "import sys" > .venv/lib/python2.7/site-packages/sitecustomize.py
[root@dashboard dashboard]# echo "sys.setdefaultencoding('utf-8')" >> .venv/lib/python2.7/site-packages/sitecustomize.py

[root@dashboard dashboard]# .venv/bin/pip install -r centos71_requirements.txt
[root@dashboard dashboard]# cd eoncloud_web
[root@dashboard eoncloud_web]# ../.venv/bin/python manage.py migrate_settings

# 编辑配置
[root@dashboard eoncloud_web]# vi eoncloud_web/local/local_settings.py

[root@dashboard eoncloud_web]# ../.venv/bin/python manage.py migrate
[root@dashboard eoncloud_web]# ../.venv/bin/python manage.py createsuperuser
[root@dashboard eoncloud_web]# ../.venv/bin/python manage.py init_flavor
[root@dashboard eoncloud_web]# ../.venv/bin/python manage.py create_workflow_approve_permission
# 输入yes
[root@dashboard eoncloud_web]# ../.venv/bin/python manage.py collectstatic

# 测试
[root@dashboard eoncloud_web]# ../.venv/bin/python manage.py runserver 0.0.0.0:8000
[root@dashboard eoncloud_web]# chown -R eoncloud:eoncloud /var/log/eoncloud/

5. Apache

# https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-apache-and-mod_wsgi-on-centos-7
[root@dashboard conf.d]# touch /etc/httpd/conf.d/dashboard.conf

Alias /static /var/www/dashboard/eoncloud_web/static
<Directory /var/www/dashboard/eoncloud_web/static>
    Require all granted
</Directory>

<Directory /var/www/dashboard/eoncloud_web>
    <Files eoncloud.wsgi>
        Require all granted
    </Files>
</Directory>

WSGIDaemonProcess eoncloud user=eoncloud python-path=/var/www/dashboard/.venv/lib/python2.7/site-packages
WSGIProcessGroup eoncloud
WSGIScriptAlias / /var/www/dashboard/eoncloud_web/eoncloud.wsgi

[root@dashboard ~]# systemctl restart httpd

6. rabbitmq

[root@dashboard ~]# yum install -y rabbitmq-server
[root@dashboard ~]# systemctl enable rabbitmq-server
[root@dashboard ~]# systemctl start rabbitmq-server

# 创建MQ的用户
[root@dashboard ~]# rabbitmqctl add_user eoncloud_web password
[root@dashboard ~]# rabbitmqctl add_vhost eoncloud
[root@dashboard ~]# rabbitmqctl set_permissions -p eoncloud eoncloud_web ".*" ".*" ".*"

# 测试
[eoncloud@dashboard eoncloud_web]$ ../.venv/bin/celery -A cloud worker

# 部署最好用systemctl处理一下,如下方式是后台运行
[eoncloud@dashboard eoncloud_web]$ ../.venv/bin/celery -A cloud worker > /dev/null 2>&1 &

7. 注意看LOG

1. apache log 在/var/log/httpd/error_log
2. 业务log在/var/log/eoncloud/*.log

@zhanghui9700
Copy link
Author

zhanghui9700 commented Sep 4, 2016

centos71 commands

groupadd eoncloud
useradd eoncloud -g eoncloud -m -d /opt/eoncloud
mkdir /var/log/eoncloud
chown -R eoncloud:eoncloud /var/log/eoncloud/

yum install -y httpd mod_wsgi
systemctl enable httpd
systemctl start httpd

yum install -y git vim libffi libffi-devel
yum install -y mysql-devel openldap-devel cyrus-sasl-devel
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
yum -y install mysql-community-server
systemctl enable mysqld
systemctl start mysqld

mysql -uroot -e "create database cloud_web CHARACTER SET utf8;"
mysql -uroot -e "create user cloud_web;"
mysql -uroot -e "grant all privileges on cloud_web.* to 'cloud_web'@'%' identified by 'password' with grant option;"
mysql -uroot -e "grant all privileges on cloud_web.* to 'cloud_web'@'localhost' identified by 'password' with grant option;"
mysql -uroot -e "flush privileges;"

curl "https://bootstrap.pypa.io/get-pip.py" -o "get-pip.py" && python get-pip.py
yum -y install python-virtualenv
cd /var/www/ && git clone https://github.com/zhanghui9700/dashboard.git && cd dashboard
git checkout -b feautre/cloud origin/feature/cloud
virtualenv .venv
echo "import sys" > .venv/lib/python2.7/site-packages/sitecustomize.py
echo "sys.setdefaultencoding('utf-8')" >> .venv/lib/python2.7/site-packages/sitecustomize.py
.venv/bin/pip install -r centos71_requirements.txt

cd eoncloud_web/

../.venv/bin/python manage.py migrate_settings
../.venv/bin/python manage.py migrate
../.venv/bin/python manage.py createsuperuser
../.venv/bin/python manage.py init_flavor
../.venv/bin/python manage.py create_workflow_approve_permission
../.venv/bin/python manage.py collectstatic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment