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. shell脚本----周期压缩备份日志文件

    一.日志文件样式 二.目标 1.备份压缩.log结尾&&时间样式为“date +%Y%m%d”的日志文件(如:20170912.20160311等) 2.可指定压缩范围(N天前至当天) ...

  2. 1、jeecg 笔记开篇

    1. 前言 终究还是入了 jeecg 的 "坑",国庆后公司采用该框架开发,故开篇记录. 虽说入"坑",但不得不承认 jeecg 确实是一个非常强大的平台. 其 ...

  3. 【JVM】-NO.110.JVM.1 -【JDK11 HashMap详解】

    Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...

  4. iOS代理模式(delegate)的使用

    前言: 代理模式是iOS中非常重要的一个模式,iOS SDK中的系统控件几乎都用到了代理模式.代理模式用来处理事件监听.参数传递功能. 协议创建(Protocol): 可手打如下代码,或者在代码块里面 ...

  5. OAuth2认证和授权:ClientCredentials认证

    1:创建授权服务器项目:AuthorizationServer,添加包:IdentityServer4 2:创建资源服务器项目:ResourcesServer,添加包:IdentityServer4. ...

  6. 《linux就该这么学》开课,linux之路新开始

    今天开课第一天,虽然不会有实实在在的干货知识,只要是了解一下linux和认证.所以我也简单说一下我的linux之路 linux我是无意接触到的,因为工作,我接触的服务器较多,但是都是linux系统,记 ...

  7. nginx----------linux下nginx环境搭建遇到的一些问题汇总(多域名配置,配置文件修改问题)

    一.启动 cd usr/local/nginx/sbin ./nginx 二.重启 更改配置重启nginx kill -HUP 主进程号或进程号文件路径 或者使用 cd /usr/local/ngin ...

  8. 实现Runnable接口创建多线程及其优势

    实现Runnable接口创建多线程: 创建一个Runnable接口的实现类RunnableImpl: 主线程中: 其中,链式编程的Thread类的静态方法currentThread方法点getName ...

  9. 外网访问ARM嵌入式Linux系统

    外网访问ARM嵌入式Linux系统 实验室里的ARM嵌入式Linux系统,只能在局域网内访问,怎样从外网也能访问ARM嵌入式Linux系统? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并 ...

  10. MySQL查询命令_SELECT 子查询

    首先创建一个table mysql> create table Total (id int AUTO_INCREMENT PRIMARY KEY,name char(20),stu_num in ...