宝塔面板部署Django运行环境

曾经写过怎么部署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
完成后,记下用户名和密码:

image

2、安装软件
使用上面的地址用户名登录,在“软件管理”界面


image.png

安装“Mysql”和“Nginx”。
这里服务器软件就安装完毕了。此时使用终端安装Gunicorn Django等。
安装服务器时直接在服务器端进行,故速度很快,省时省力。
3、数据库
在“数据库”界面,点击“添加数据库”设置数据库名和密码,并导入自己的数据库。


image.png

以下为手动配置,宝塔增加了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端口放行即可访问自己的网站了。

image.png

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,使文件可以在重启时生效。

image.png

在下为新的方法:
添加项目后,如果需要使用域名或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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。