ubuntu使用uwsgi+nginx部署django
ls -lha
export WORKON_HOME=~/venv
source /usr/local/bin/vitualenvwrapper.sh
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
安装python3
apt-get update
sudo apt-get install python3-dev build-essential libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev
sudo apt-get install python3
sudo apt-get install python3-pip
1.什么是服务器?
激活虚拟环境:
sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper
source bin/activate
pip3 install django==1.11.6
django-admin startproject smartkidz
python3 manage.py startapp api
关闭虚拟环境:
deactivate
pip freeze
pip freeze > req.txt
pip3 install -r req.txt
sudo apt-get install libmysqlclient-dev
pip install mysqlclient
安装数据库
sudo apt-get install mysql-server
进入数据库创建自己的账户并给分配所有的权限,并且刷新权限,在配置文件当中bind 0.0.0.0
python3 manage.py runserver
部署上线uwsgi的安装及测试
安装uwsgi
pip3 install uwsgi -i https://pypi.douban.com/simple/
测试
uwsgi --http :8000 --module GuLiEdu.wsgi
安装配置nginx
sudo apt-get install nginx
smartkidz_nginx.conf
# the upstream component nginx needs to connect to
upstream django {
# server uninx:///path/to/your/mysite/mysite.sock; # for a file socket
server 127.0.0.1:8000; # for a web port socket (we'll use this first)
}
#configuration of the server
server {
#the port your site will be served on
listen 80;
#the domain name it will serve for
server_name 47.106.224.45;
charset utf8;
#max upload size
client_max_body_size 75M;
location /static {
alias /home/smartkidz/smartkidz/static;
}
location /{
uwsgi_pass django;
include /etc/nginx/uwsgi_params;
}
}
将该配置文件加入到nginx的启动配置文件夹中
sudo cp smrtkidz_nginx.conf /etc/nginx/conf.d/
python3 manage.py collectstatic
sudo service nginx restart
ps -aux|grep nginx
# ite_uwsgi.ini file
[uwsgi]
# Django-related settings
# the base directory (full path)
chdir = /home/python/smartkidz/
# Django's wsgi file
module = smartkidz.wsgi
# the virtualenv(full path)
# process-related settings
#master
master = true
process = 10
socket = 127.0.0.1:8000
vacuum = true
virtualenv = /home/venv
logto = /tmp/mylog.log
uwsgi -d -i uwsgi.ini
sudo netstat -antup
sudo kill 7358
ubuntu使用uwsgi+nginx部署django的更多相关文章
- Ubuntu上通过nginx部署Django笔记
Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式.今天在Ubuntu上使用Nginx部署Django服务,虽然不是第一次搞这个了,但是发现还是跳进了好多坑,g ...
- 使用uWSGI+nginx部署Django项目
最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-doc ...
- ubuntu18+uwsgi+nginx部署django项目
更新系统软件源 sudo apt-get update pip3安装 sudo apt install python3-pip 安装virtualenvwrapper pip3 install vir ...
- Ubuntu+Django+uWSGI+Nginx部署Django项目
安装uWSGI,pip依据自己要使用的python版本自行选择,python2.x版本使用pip进行安装,python3.x版本使用pip3进行安装 pip install uwsgi 配置uWSGI ...
- uwsgi+nginx部署django项目
1. 概念解析(wsgi协议,uwsgi协议,uWSGI) 参考:https://www.cnblogs.com/wspblog/p/8575101.html 1.1 现实世界的web请求: 1.2 ...
- Centos7.3+uwsgi+Nginx部署Django程序
1. 安装Python,这里我用的是阿里云的centos7.3,自带python2,所以,此步略过,具体安装Python可Google. 2. 安装uwsgi,如果安装失败的话首先,我的Python解 ...
- 基于腾讯云CentOS7.4+MySQL5.7+Python3+uwsgi+nginx的Django项目部署
准备知识 1.django一个基于python的开源web框架,请确保自己熟悉它的框架目录结构. 2.uWSGI一个基于自有的uwsgi协议.wsgi协议和http服务协议的web网关 3.nginx ...
- django+uwsgi+nginx部署(非常详细)
django+uwsgi+nginx部署 1.介绍: 在网上看了很多教程,但自己部署了很久都没有成功,这篇博文记录自己所踩过得坑. 2.环境: Ubuntu 16.04.1 LTS (GNU/Linu ...
- virtualvenv+django+uWSGI+nginx 部署
原创博文 转载请注明出处! 1. virtualvenv 2. django 3. uWSGI 4. nginx 5. 踩坑记录 1. virtualvenv virtualvenv install ...
随机推荐
- 下一个排列(Leetcode31)解读
本题代码来自Leetcode官方,个人对其理解后,生成自己的注解,以便更好的让读者理解.如有侵权,立即删除! public class Main31 { public static void main ...
- MySql(一)_利用NHibernate和MySql交互
1.基础配置,添加MySql和nHibernate的引用 (1) 添加引用,导入MySql.data.dll: 利用MySql提供的API操作: (2) 添加引用,导入NHibernate.d ...
- Unity3D_UGUI与NGUI的区别与优缺点
1. NGUI与UGUI的区别 1) UGUI的Canvas 有世界坐标和屏幕坐标; 2) UGUI的Image可以使用material; 3) UGUI通过Mask来裁剪,而NGUI通过Panel的 ...
- charles 高亮Hosts
本文参考:charles 高亮Hosts Focus Host是焦点域名的:这里配置好的可以在结构视图中,单独拎出来显示: 如下图,在把zhubangbang.com设为焦点域名,在视图中是下图这么展 ...
- ogeek线下赛web分析1-python-web
1.python from flask import Flask, request, render_template,send_from_directory, make_response from A ...
- HTML定位——绝对定位和相对定位、固定定位
1.绝对定位 绝对定位指的是通过规定HTML元素在水平和垂直方向上的位置来固定元素,基于绝对定位的元素不会占据空间. 绝对定位的位置声明是相对于已定位的并且包含关系最近的祖先元素.如果当前需要被定为的 ...
- [C++] 空间配置器——allocator类
1.new和delete有一些灵活性上的局限:new把内存分配和对象构造组合在了一起:delete将对象析构和内存释放组合在了一起. 2.当分配一大块内存时,我们通常计划在这块内存上按需构造对象, ...
- JavaScript之数据类型转换
JavaScript中有多种数据类型,在实际工作中,不管是有意还是无意的,我们总能碰到不一样的数据类型值之间进行运算,或者我想从用户输入获得一个数字时,而用户却输入了一个字符串,这种时候就需要用到今天 ...
- .Net Core 跨平台:一个简单程序的多平台(windows、Linux、osx)发布
.Net Core 跨平台:一个简单程序的多平台(windows.Linux.osx)发布 .Net Core 3.0 已于2019年9月23日发布了,包含了一些新特性,具体参见Announcing ...
- js 判断字符串是否存在某个字符串
可使用String和Regexp对象的相关方法进行处理,如下 一.String对象方法 1.使用indexOf()方法,返回某个指定的字符串值在字符串中首次出现的位置.如果要检索的字符串值没有出现,则 ...