项目是gunicorn+nginx+django+Supervisor 这样搭配的
如果一个项目第一次 部署好,以后不做修改,那还好
但我发现我是经常修改,经常新建项目 或者把主机里的东西都删光了,从头开始部署
感觉特别的繁琐
比如 我这几天又要把写好的一个django项目弄到一个服务器上
用gunicorn+nginx+django+Supervisor
gunicorn 让它高效
nginx 作为代理,代理静态资源
Supervisor 守护进程, [主要是让他在电脑重启的时候自动运行我的web服务,崩溃了也自动重启web服务]
我的步骤如下:
ssh连上服务器,默认在 /root 目录
执行以下命令 初始安装一些软件:
[
sudo apt-get update
sudo apt-get upgrade
apt-get install supervisor
apt-get install nginx
pip install django
pip install gunicorn
pip install gevent
]
然后 git clone git://github.com/*****/mysite.git
然后 cd mypro1/
vim gunicorn_start
输入内容: [
gunicorn --worker-class=gevent mysite.wsgi:application -b 0.0.0.0:8000
]
然后 将gunicorn_start脚本设置为可执行
执行 [chmod u+x gunicorn_start]
然后建立supervisor配置文件
执行 [vim /etc/supervisor/conf.d/mysite.conf]
输入内容: [
[program:mysite]
directory=/root/mysite
command=sh gunicorn_start
user=root
redirect_stderr=true
stdout_logfile=/var/log/mysite.log
stdout_logfile_maxbytes=10MB
]
然后执行 [supervisorctl reread] 重启
再执行 [supervisorctl update] 这个应该是更新,网上说要这么执行
然后 把nginx的配置文件写到对应目录
然后重启nginx服务器
这样基本就可以访问了
但是实际操作中,特别麻烦,每次部署的时候都很麻烦
请问大家是怎么做的呀
如果我用docker 会不会好点呀
请大家分享下自己的方法可以吗
谢谢了
1
rebornix 2015-01-18 20:00:14 +08:00
用docker,把环境部署这些事情和source code分开。
|
2
virusdefender 2015-01-18 20:08:00 +08:00
经常的重复部署的话 就把上面的操作写成脚本啊
|
3
tudou527 2015-01-18 20:21:34 +08:00
到django官方找init.d脚本
|
4
loading 2015-01-18 20:26:03 +08:00 via Android
建议换到 windows 平台,我每次都是杀掉python,然后等一分钟就好了(有服务检测)
btw:我也是无辜的,别喷我 |
5
tini9 2015-01-18 20:47:35 +08:00
django部署复杂?rails表示笑而不语
|
6
clino 2015-01-18 21:00:13 +08:00
我都是基本上把能固定写下来的全部整理在一起,比如 nginx 和 supervisor 的配置文件,同步到所有服务器的 /opt 的某个目录下
然后部署的时候基本上只要做做 link nginx和supervisor都可以做成 include 配置文件的方式,每一个应用或者一种方式一个配置文件,这样比较灵活,link起来也方便 当然需要安装的那些也是类似,把所有安装需要的文件也都同步到 /opt 下,安装步骤记下来,这样重新安装就非常快速了 |
7
whtsky 2015-01-18 21:19:07 +08:00 via iPad
用 Fabric ,写好 Fabfile 之后可以一键部署好
|
8
fdsfsdfsdf3334 OP |
9
9hills 2015-01-18 22:49:47 +08:00 via iPad
其实你这个写个脚本不就好了。。。
|
10
lerry 2015-01-18 22:53:51 +08:00
|
11
66450146 2015-01-18 22:56:03 +08:00
kill -HUP 就可以了。。。
|
12
chloerei 2015-01-18 22:58:46 +08:00
|
13
fdsfsdfsdf3334 OP |