欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Django部署

程序员文章站 2022-06-11 11:38:39
...
首先需购买服务器 新手推荐购买 阿里云或腾讯云进行使用 相对别的服务器更加简单易上手容易部署

一本地部署

(1)布署前需要关闭调试、允许任何机器访问,打开项目的settings.py文件。

DEBUG = False
ALLOW_HOSTS=['*',]
收集静态资源:
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')

python3 manage.py collectstatic  

(2)配置uWSGI,在项目目录下创建uwsgi.ini文件,配置如下

[uwsgi]
http = 127.0.0.1:8000
chdir = /home/qq/桌面/boke#uwsgi文件的路径
module          = boke.wsgi

processes       = 4

master          = true

threads = 2

daemonize       = uwsgi.log

pidfile = uwsgi.pid
virtualenv = /home/qq/.virtualenvs/1807_01#环境的路径

(3)启动 uwsgi

    uwsgi --ini uwsgi.ini#在项目里

(4)查看进程

ps ajx|grep uwsgi

(5)停止

uwsgi --stop uwsgi.pid或 kill -9 后加进程号

(6)在浏览器中输入如下网址:

http://127.0.0.1

(7)测试没问题,将配置中启用socket,禁用http

[uwsgi]
socket = 127.0.0.1:8000
chdir = /home/qq/桌面/boke#uwsgi文件的路径
module          = boke.wsgi

processes       = 4

master          = true

threads = 2

daemonize       = uwsgi.log

pidfile = uwsgi.pid
virtualenv = /home/qq/.virtualenvs/1807_01#环境的路径

(8)下载nginx后放到桌面上,解压缩

tar zxvf nginx-1.6.3.tar.gz

(9)进入nginx-1.6.3目录,依次执行以下命令进行安装

./configure
make
sudo make install

(10)默认安装到/usr/local/nginx/目录,进入此目录

cd /usr/local/nginx/

执行 sudo vi nginx.conf 配置如下文件

        server {
              listen 80;#要监听的端口号
              server_name 127.0.0.1;#本地ip地址

              #动态请求
              location / {
                  include uwsgi_params;
                  uwsgi_pass 127.0.0.1:8000;
              }
              #静态
             location /static {
                alias /home/qq/桌面/boke/static;#静态文件夹路径

              }
}

(11)启动nginx
/etc/init.d/nginx start 启动

        /etc/init.d/nginx stop 或killall -9 nginx 关闭

        /etc/init.d/nginx restart 重启    

(二)服务器部署

(1)进入你购买服务器通过扫码进行登陆 点击控制台 找到并记住你的服务器ip 重置一下密码
然后再终端通过远程登陆操纵服务器

 ssh ubuntu#服务器名称@118.24.255.81#服务器ip

(2)在服务器终端输入:

  sudo apt update 和 sudo apt upgrade

(3)安装pip

 sudo apt install python3-pip

(4)安装虚拟环境

sudo pip3 install virtualenv 

可能会报错如果报错在终端依次执行如下代码
locale是用来设置软件运行的语言环境,所以语言环境设置有问题

    解决故障   复制这三条 命令 一条一条输入 在登入云服务器
    重新设置语言环境,最简单的解决办法:
    第一条
     echo "export  LC_ALL=en_US.UTF-8"  >>   /home/XXX/.bash_profile 代表(特定用户)
    第二条

     echo "export LC_ALL=en_US.UTF-8"  >>  /etc/profile 代表(所有用户)
    第三条
    exit

(5)配置虚拟环境

vi .bashrc

    复制这三条命令到文档
    export WORKON_HOME=$HOME/.virtualenvs
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    source /usr/local/bin/virtualenvwrapper.sh

    **
    source .bashrc

(6)创建虚拟环境

mkviatualenv 环境名称

(7)安装数据库

  sudo apt-get install mysql-server mysql-client

(8)导出本地数据库

mysqldump -uroot -p dbname#数据库名称 > /home/qq/桌面/blog.sql#要导出文件要放的位置路径

(9)导出本地依赖第三方

 pip freeze > requirements.txt

(10)数据库和依赖文件还有源码 上传到服务器

scp -r mz_boke.sql [email protected]:/home/ubuntu#服务器路径
scp -r requirements.txt  [email protected]:/home/ubuntu#服务器路径

(11)在云端创建一个和本地数据库一样的库,并导入数据

source  /xxx/xx/xx/blog.sql #在数据库里执行

(12)安装依赖文件

pip install -r packages.txt

(13)安装nginx 和安装uwsgi

       sudo apt-get install nginx
       pip  install uwsgi

(14)配置uwsgi和nginx 和本地部署一样
(1 5)启动uwsgi

  uwsgi --ini uwsgi.ini 启动
uwsgi --stop uwsgi.pip 关闭

(16)启动nginx

  /etc/init.d/nginx start 启动

  /etc/init.d/nginx stop 或killall -9 nginx 关闭

/etc/init.d/nginx restart 重启

完成

转载于:https://www.jianshu.com/p/29f5237c94e7