Django发布服务器

首先连接到服务器,安装环境

WSGI,web服务器网关接口。WSGI是一个规范,定义了web服务器如何与pyhton程序交互

更新系统软件包:yum update -y

  yum install wget

下载python:    wget https://www.python.org/ftp/python/3.5.3/Python-3.5.3.tgz

解压:tar -zxvf python-3.7.2

进入python:  cd python-3.7.2

编译安装到指定路径:./configure  --prefix=/use/local/python3  --enable-shared

开始安装:make             make install

配置变量:ln -s /usr/local/python3/bin/python3 /usr/bin/python3

查看python版本:python3 -v

 

 安装pip:  wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb

解压 tar -zxvf pip-8.0.2.tar.gz
进入 cd pip-8.0.2
配置 python3 setup.py build python3 setup.py install



鉴于之前写太乱了,修改一下,这里用的是Ubuntu 16系统

先把项目上传到github,方便使用

首先升级版本,安装包
sudo apt-get update
sudo apt-get upgrade


sudo apt-get install nginx
sudo apt-get install python3
sudo apt-get install python3-pip
sudo apt-get install git
sudo pip3 install virtualenv

接下来修改Django文件settings.py

#关闭调试模式
DEBUG = False #这里写你的服务器IP ALLOWED_HOSTS = ['101.133.166.128'] #静态文件部署时需要找一个地方统一收集起来,就是STATIC_ROOT指定的地址 STATIC_ROOT = os.path.join(BASE_DIR, 'collected_static')

在本地环境下把开发中用到的库列一个清单

pip freeze > requirements.txt

回到服务器的命令行(记住把项目上传到github),给项目创建文件夹

mkdir -p /home/sites/a.com
cd /home/sites/a.com

#从github拉取代码
git clone https://github.com/15903434407/boke.git


创建虚拟环境,进入虚拟环境
virtualenv --python=python3.5 env
source env/bin/activate

cd boke
(env) ../boke# pip3 install -r requirements.txt
(env) ../boke# pip3 python3 manage.py collectstatic 
(env) ../
boke# pip3 python3 manage.py migrate

 

回到根目录,启动nginx,编辑nginx配置

cd /
sudo service nginx start


cd /etc/nginx/sites-available
sudo vi dusaiphoto.com
 
server {
  charset utf-8;
  listen 80;
  server_name 101.133.166.128;  # 改成你的 IP

  location /static {
    alias /home/sites/a.com/boke/collected_static;
  }

  location /media {
    alias /home/sites/a.com/boke/media;
  }

  location / {
    proxy_set_header Host $host;
    proxy_pass http://unix:/tmp/101.133.166.128.socket;  # 改成你的 IP
  }
}

回到项目目录下 

cd /home/sites/a.com/boke
sudo ln -s /etc/nginx/sites-available/a.com /etc/nginx/sites-enabled

(env) ../boke# pip3 install gunicorn
(env) ../boke# sudo service nginx reload
(env) ../boke# gunicorn --bind unix:/tmp/101.133.166.128.socket my_blog.wsgi:application
my_blog 是自己项目下的名字,还有ip记得改

到这了就可以了,浏览器输入服务器IP试试吧

 

 














posted @ 2020-08-16 14:44  yuanqx  阅读(204)  评论(0编辑  收藏  举报