django项目部署到云服务器:   

0.通过xshell连接远程主机服务器ip

1.使用xftp将项目发送到服务器端(也可以使用git)

a.路径推荐为/var/project/(项目名)

2.给服务器安装必要的环境

a.升级,更新apt-get
  apt-get update
  apt-get upgrade
b.安装mysql数据库
  apt-get install mysql-server-5.7
  (为root设置密码)
c.安装pip3(默认未安装)
  apt install python3-pip
d.安装虚拟环境
  pip install --upgrade pip (如版本低,先升级pip)
  pip install virtualenv (如报这个错 Consider using the '--user' option or check the permissions在virtualenv前加上--user即可)
e.安装虚拟环境管理软件
  easy_install virtualenvwrapper
  注:安装上它才可以使用workon, mkvirtualenv等命令
f.配置虚拟环境
  创建虚拟环境管理目录 mkdir $HOME/.local/virtualenvs
  配置环境变量:
  在~/.bashrc中添加行

export VIRTUALENV_USE_DISTRIBUTE= #总是使用 pip/distribute
export WORKON_HOME=$HOME/.local/virtualenvs #所有虚拟环境存储的目录
if [ -e $HOME/.local/bin/virtualenvwrapper.sh ];then
source $HOME/.local/bin/virtualenvwrapper.sh
else if [ -e /usr/local/bin/virtualenvwrapper.sh ];then
source /usr/local/bin/virtualenvwrapper.sh
fi
fi
export PIP_VIRTUALENV_BASE=$WORKON_HOME
export PIP_RESPECT_VIRTUALENV=true

刷新环境变量: source ~/.bashrc

创建python3.5的虚拟环境:mkvirtualenv -p /usr/bin/python3.5 虚拟环境的名称

ps: 使用虚拟环境: workon 虚拟环境名
退出虚拟环境 : deactivate
删除虚拟环境:rmvirtualenv 虚拟环境名称

3. 下载安装python中的第三方库

根据每个人的项目库的需求来安装,常用库有:
a. requests
b. Pillow
c. pymysql
d. uwsgi

4. 安装nginx

a. 下载认证密钥
  wget http://nginx.org/keys/nginx_signing.key (下载到当前目录下)
b. 配置该密钥
  sudo apt-key add nginx_signing.key
c. 切换到apt的源列表
  vim /etc/apt/sources.list
加上源:
  deb http://nginx.org/packages/ubuntu/ codename nginx
  deb-src http://nginx.org/packages/ubuntu/ codename nginx
注:
将codename替换成当前linux的版本号, Ubuntu16.04 对应为: xenial, 保存退出
其它的linux版本可以在网上查
d. 更新并安装
  apt-get update
  apt-get install nginx
e.查看nginx服务是否开启
  ps -ef | grep nginx 通过存在的进程来筛选查看nginx的状态

5. 配置django和uwsgi

a. 在项目目录下建uwsgi.ini文件, 并配置

[uwsgi]
# 使用nginx连接时 使用
#socket=127.0.0.1:8010
# 直接作为web服务器使用
http=127.0.0.1:
# 配置工程目录
chdir=/home/rock/Python1801/DjangoAXF/AXF
# 配置项目的wsgi目录。相对于工程目录
wsgi-file=AXF/wsgi.py #配置进程,线程信息
processes=
threads=
enable-threads=True
master=True
pidfile=uwsgi.pid
daemonize=uwsgi.log

b. 在django项目setting中将DEBUG置为False
c. database配置为服务器上的mysql
d. 建库,迁移表,插入数据(如果使用了数据库缓存,python manage.py createcachetable)
e. 一切就绪后执行 uwsgi --ini uwsgi.ini

6.启动nginx

以配置文件的方式启动
1.测试:nginx -t -c 配置文件路径(见到successful便成功)
2.启动:启动前确保之前的已经彻底关闭(nginx -s stop)
nginx -c 配置文件路径

user  nginx;
worker_processes ; error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid; events {
worker_connections ;
} http {
include /etc/nginx/mime.types;
default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on;
#tcp_nopush on; keepalive_timeout ; #gzip on; include /etc/nginx/conf.d/*.conf; server {
listen ;
server_name localhost; charset utf-;
root /var/www/learn;
index hello.html; location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass localhost:;
}
location /static{
alias /var/project1804/game/2048game/;
}
}
}

7.输入公网ip,访问项目测试!

django项目的部署的更多相关文章

  1. 玩转Django2.0---Django笔记建站基础十二(Django项目上线部署)

    第十二章 Django项目上线部署 目前部署Django项目有两种主流方案:Nginx+uWsGI+Django或者Apache+uWSGI+Django.Nginx作为服务器最前端,负责接收浏览器的 ...

  2. 第一个Django项目及部署到Sina App Engine

    Sina App Engine简称SAE,是个比较好的网站托管平台,目前说是全面免费,其实就是每个人分配很小的资源配额,在一定的使用范围内不用消耗云豆(SAE计费方式),对于个人学习和研究足够了,同类 ...

  3. 测试开发之Django——No5.Django项目的部署(CentOS7+nginx)

    配置环境:CentOS7 1.安装python3环境 默认的CentOS7系统中,会安装python2.7的版本,由于Django2.0并不支持python2.7的版本,所以我们需要自己在系统中安装p ...

  4. Ubuntu16.04下Django项目的部署

    起飞前的准备 # 首先在Ubuntu的当前用户zhang下新建data文件夹,然后在data文件夹下新建你的项目目录root@zhang-virtual-machine:/home/zhang/dat ...

  5. 2019/01/17 对django项目部署的学习

    前记:最近在学习django项目的部署. 开发环境:windows10,使用pycharm,python2.7.15,django1.11.本地测试使用nginx和前端交互. 生产环境:centos7 ...

  6. Nginx + uWSGI 部署Django 项目,并实现负载均衡

    一.uWSGI服务器 uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 要注意 WSGI ...

  7. centos部署Django项目的前提工作

    从安装python到django项目的部署上线.是相当详细了,中间也没有出现什么幺蛾子.很赞!!! https://blog.csdn.net/u011798443/article/details/8 ...

  8. ubuntu服务器上用Nginx和Uwsgi部署django项目

    开发环境:ubuntu系统,python3环境 django项目目录: fast_foot 为项目根目录,app为项目应用 现在,我们登陆远程服务器 安装Nginx 安装好了,我们看一下nginx的配 ...

  9. mac osx 上面部署Django项目 apache+mysql+mod_wsgi

    1.安装Xcode command line tools 首先,编译mysql和Homebrew需要用到Xcode command line tools,所以首先安装command line tool ...

随机推荐

  1. vue 自适应 Responsive 设计

    使用阿里的 lib-flexible 及 vue-meta 库: https://github.com/amfe/lib-flexible/ https://github.com/nuxt/vue-m ...

  2. cds view 创建和调用

    cds view 是一个core data service, 能够将数据库表虚拟化为一个虚拟表(double).因为各个使用sap的公司,使用的数据库数据是不同的,所以提供一个数据库的虚拟.  通过向 ...

  3. python数据结构-如何为元组中的每个元素命名

    如何为元组中的每个元素命名 简述 当对象数据格式固定时,用元组比列表更节省内存空间, 我们使用索引访问元组元素,但是这种访问方式会降低程序的可读性. 举个栗子 对于学生的信息,我们有固定的数据格式,我 ...

  4. ASP.NET MVC案例教程(二)

    ASP.NET MVC案例教程(二) 让第一个页面跑起来 现在,我们来实现公告系统中的第一个页面——首页.它非常简单,只包括所有公告分类的列表,并且每个列表项是一个超链接.其中分类数据是用我们的Moc ...

  5. xml 和 json 序列化忽略字段

    xml 和 json 序列化忽略字段: @JsonIgnore @XmlTransient

  6. swagger 自动生成接口测试用例

    ---整体更新一波--- 1.实际工作中,因为要动手输入的地方比较多,自动生成的异常接口用例感觉用处不大,就先去掉了,只保留了正常的: 2.接口有改动的,如果开发人员没有及时告知或没有详细告知,会增加 ...

  7. MongoExport后的负载均衡问题查询及解决:can't accept new chunks because there are still 2 deletes from previous migration

    问题 前一阵有一个数据导出需求,按照各种数据库的使用方法,使用MongoExport方法导出数据,将数据导出到本地文件系统,在导出之后遇到此问题. 此问题和mongoexport的原理有关,我们知道数 ...

  8. DelayQueue源码解析

    DelayQueue是一个支持延时获取元素的无界阻塞队列.里面的元素全部都是“可延期”的元素,列头的元素是最先“到期”的元素,如果队列里面没有元素到期,是不能从列头获取元素的,哪怕有元素也不行.也就是 ...

  9. dotnet Core 异步任务

    使用线程池中线程的任务启动方式 线程池提供了一个后台线程的池,独自管理线程,按需增加或减少线程池中的线程数.线程池中的线程用于执行一些动作后仍然返回线程池中. using System; using ...

  10. 在网页中运用统计Web Service接口

    (2017-02-10 银河统计) 在"统计随机数及临界值Web Service接口"一文中介绍了常用统计分布四类Web Service接口(随机数.分位数.密度函数和累积分布函数 ...