曾经写过怎么部署Django(https://www.jianshu.com/p/b4f3aa5fc77c)运行环境,但操作麻烦,最近使用宝塔面板操作,操作上快捷容易多了。宝塔官方主要为php环境准备的,这里写一下部署Django环境。
1、使用SSH 连接工具
Centos安装命令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
完成后,记下用户名和密码:
2、安装软件
使用上面的地址用户名登录,在“软件管理”界面
安装“Mysql”和“Nginx”。
这里服务器软件就安装完毕了。此时使用终端安装Gunicorn Django等。
安装服务器时直接在服务器端进行,故速度很快,省时省力。
3、数据库
在“数据库”界面,点击“添加数据库”设置数据库名和密码,并导入自己的数据库。
以下为手动配置,宝塔增加了python管理器后更简单了。说明在后面
4、添加网站
在自己的域名商那里设置好DNS后,点击“文件”,定位到/www/server/panel/vhost/nginx
目录,添加自己网站conf文件,使用service nginx reload
#重启nginx
conf文件内容如下:
server {
listen 80;
server_name www.xxxxxxx.com;
location / {
proxy_pass http://127.0.0.1:8000;
}
location /static/ {
alias /www/wwwroot/xxxxxxx/static/;
}
location /media/ {
alias /www/wwwroot/xxxxxxx/media/;
}
}
server {
server_name xxxxxxx.com;
return 301 $scheme://www.xxxxxxx.com$request_uri;
}
上传自己的Django项目文件至自己想要保存的目录,但要与上面conf设置的目录一致,如/www/wwwroot/
目录下面。
在终端下运行gunicorn xxxxxxx.wsgi:application -b 127.0.0.1:8000 --reload
,就可以了。
其它与上篇文章基本一致。
5、放行端口
在“安全”页面下,把上面使用的8000
端口放行即可访问自己的网站了。
5、自启动
安装 supervisor 通过它进行django 进程守护:pip install supervisor
在项目目录添加supervisor的配置文件:
echo_supervisord_conf > /etc/supervisord.conf
默认是在etc
目录下生成supervisord.conf
文件
supervisord.conf
文件中添加:
[program:phone]
directory = /home/www/xxxx
command = gunicorn xxxx.wsgi:application -b 127.0.0.1:8000 --reload
其中xxxx是工程名字,即上面的步骤。
这时通过
[root@localhost core]# supervisord -c /etc/supervisord.conf
[root@localhost core]# ps -le | grep supervisord
1 S 0 14035 1 0 80 0 - 48722 poll_s ? 00:00:00 supervisord
可以查看相应的进程。
打开/etc/rc.d/rc.local
添加supervisord -c /etc/supervisord.conf
到文件后面。
然后命令行下执行chmod +x /etc/rc.d/rc.local
或者直接在面板内,把权限提升为755,使文件可以在重启时生效。
在下为新的方法:
添加项目后,如果需要使用域名或80端口访问项目,点击映射
按钮即可,操作完成后会在网站
处显示
怎么显示静态文件:
在网站
设置
反向代理处
#PROXY-START/
location /
{
location ~ .*\.(php|jsp|cgi|asp|aspx|flv|swf|xml)?$
{
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_pass http://127.0.0.1:8002;
}
location /static/ {
alias /www/wwwroot/xxx/static/;
}
location /media/ {
alias /www/wwwroot/xxx/media/;
}
proxy_pass http://127.0.0.1:8002;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
#持久化连接相关配置
#proxy_connect_timeout 30s;
#proxy_read_timeout 86400s;
#proxy_send_timeout 30s;
#proxy_http_version 1.1;
#proxy_set_header Upgrade $http_upgrade;
#proxy_set_header Connection "upgrade";
add_header X-Cache $upstream_cache_status;
expires 12h;
}
#PROXY-END/
增加上你要增加的目录即可。上面即location /static/ 和 location /media/目录。
在配置文件
处 增加
server {
server_name xxx.com;
return 301 $scheme://www.xxx.com$request_uri;
}
即可全站重定向到www