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中添加行

  1. export VIRTUALENV_USE_DISTRIBUTE= #总是使用 pip/distribute
  2. export WORKON_HOME=$HOME/.local/virtualenvs #所有虚拟环境存储的目录
  3. if [ -e $HOME/.local/bin/virtualenvwrapper.sh ];then
  4. source $HOME/.local/bin/virtualenvwrapper.sh
  5. else if [ -e /usr/local/bin/virtualenvwrapper.sh ];then
  6. source /usr/local/bin/virtualenvwrapper.sh
  7. fi
  8. fi
  9. export PIP_VIRTUALENV_BASE=$WORKON_HOME
  10. 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文件, 并配置

  1. [uwsgi]
  2. # 使用nginx连接时 使用
  3. #socket=127.0.0.1:8010
  4. # 直接作为web服务器使用
  5. http=127.0.0.1:
  6. # 配置工程目录
  7. chdir=/home/rock/Python1801/DjangoAXF/AXF
  8. # 配置项目的wsgi目录。相对于工程目录
  9. wsgi-file=AXF/wsgi.py
  10.  
  11. #配置进程,线程信息
  12. processes=
  13. threads=
  14. enable-threads=True
  15. master=True
  16. pidfile=uwsgi.pid
  17. 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 配置文件路径

  1. user nginx;
  2. worker_processes ;
  3.  
  4. error_log /var/log/nginx/error.log warn;
  5. pid /var/run/nginx.pid;
  6.  
  7. events {
  8. worker_connections ;
  9. }
  10.  
  11. http {
  12. include /etc/nginx/mime.types;
  13. default_type application/octet-stream;
  14.  
  15. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  16. '$status $body_bytes_sent "$http_referer" '
  17. '"$http_user_agent" "$http_x_forwarded_for"';
  18.  
  19. access_log /var/log/nginx/access.log main;
  20.  
  21. sendfile on;
  22. #tcp_nopush on;
  23.  
  24. keepalive_timeout ;
  25.  
  26. #gzip on;
  27.  
  28. include /etc/nginx/conf.d/*.conf;
  29.  
  30. server {
  31. listen ;
  32. server_name localhost;
  33.  
  34. charset utf-;
  35. root /var/www/learn;
  36. index hello.html;
  37.  
  38. location / {
  39. include /etc/nginx/uwsgi_params;
  40. uwsgi_pass localhost:;
  41. }
  42. location /static{
  43. alias /var/project1804/game/2048game/;
  44. }
  45. }
  46. }

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. Redis的数据结构之List

    存储list: ArrayList使用数组方式 LinkedList使用双向链接方式 双向链接表中增加数据 双向链接表中删除数据 存储list常用命令 两端添加 两端弹出 扩展命令 lpush 方式添 ...

  2. JavaScript 模拟 Dictionary

    function Dictionary() { var items = {}; //判断是否包含Key值 this.has = function(key) { return key in items; ...

  3. UDAF(用户自定义聚合函数)求众数

    除了逐行处理数据的udf,还有比较常见的就是聚合多行处理udaf,自定义聚合函数.类比rdd编程就是map和reduce算子的区别. 自定义UDAF,需要extends org.apache.spar ...

  4. 细说@Html.ActionLink()的用法

    一.@Html.ActionLink()概述 在MVC的Rasor视图引擎中,微软采用一种全新的方式来表示从前的超链接方式,它代替了从前的繁杂的超链接标签,让代码看起来更加简洁.通过浏览器依然会解析成 ...

  5. Javascript根据id获取数组对象

    在业务中,列表页跳转详情页时,经常会将Id值传入,然后再根据id值异步获取数据. 假设有服务端的json数据:  <注意,这里的data是指已经从后端获取的json, 而非后端原始的文件> ...

  6. mysql 事务锁超时时间 innodb_lock_wait_timeout

    mysql 事务锁超时时间 innodb_lock_wait_timeout: # 查询全局等待事务锁超时时间 SHOW GLOBAL VARIABLES LIKE 'innodb_lock_wait ...

  7. K均值

    K-means算法的工作流程 首先,随机确定k个初始点的质心:然后将数据集中的每一个点分配到一个簇中,即为每一个点找到距其最近的质心,并将其分配给该质心所对应的簇:该步完成后,每一个簇的质心更新为该簇 ...

  8. mybatis源码解析11---ParameterHandler解析

    ParameterHandler接口是参数处理器,位于mybatis包的org.apache.ibatis.executor.parameter下,源码如下: public interface Par ...

  9. CentOS6.5系统,mysql数据库的安装

    1.查看数据库中已安装的版本: [mdata@bogon ~]$ yum list installed|grep mysqlmysql-libs.x86_64 5.1.71-1.el6 @anacon ...

  10. myeclipse项目在Tomcat服务器部署问题

    错误信息:Deployment of project mybook will replace this resource. Please specify the action you wish to ...