第一步 创建项目启动脚本

# 创建项目启动脚本 vi /etc/init.d/project_name
#!/bin/bash
# Description: uwsgi manager scripts
# chkconfig: -
#
# Get function from functions library
. /etc/init.d/functions pidfile='/var/www/run/project_name.pid'
conf='/var/www/config/project_name.ini' startcmd="/usr/bin/uwsgi --pidfile $pidfile -i $conf"
stopcmd="/usr/bin/uwsgi --stop $pidfile"
reloadcmd="/usr/sbin/uwsgi --reload $pidfile"
start() {
if ps -ef |grep -v grep |grep -q $pidfile;then
echo -n "uwsgi aleardy running ... "
echo
else
echo -n "Starting uwsgi: "
$startcmd &> /dev/null
if [ $? -eq ];then
### Create the lock file ###
success $"uwsgi startup"
echo
else
failure $"uwsgi startup"
echo && exit
fi
fi
}
stop() {
echo -n "Stopping uwsgi: "
### Stop
$stopcmd
if [ $? -eq ];then
### Now, delete the lock file ###
success $"uwsgi shutdown"
echo
else
rm -f $lockfile
failure $"uwsgi shutdown"
echo && exit
fi
} reload() {
echo -n "Reloading uwsgi: "
$reloadcmd
if [ $? -eq ];then
success $"uwsgi reload"
echo
else
failure $"uwsgi reload"
echo && exit
fi
} status() {
if ps -ef |grep -v grep |grep -q $pidfile;then
pidnum=$(cat $pidfile)
echo "uwsgi (pid $pidnum) is running..."
else
echo "uwsgi is stoped."
exit
fi
}
### main logic ###
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
sleep
start
;;
status)
status
;;
*)
echo $"Usage: $0 {start|stop|reload|restart|status}"
exit
esac
exit

第二步 配置uwsgi

$ pip install uwsgi   # 如未安装则先安装uwsgi

# vi /var/www/config/pad_math2_api.ini
[uwsgi]
;http-socket = :
socket = 127.0.0.1:
chdir = /var/www/pad_math2_api/esms/
pythonpath = /var/www/pad_math2_api/
env = DJANGO_SETTINGS_MODULE=esms.custom_settings
#module = django.core.handlers.wsgi:WSGIHandler()
module = django.core.wsgi:get_wsgi_application()
workers =
max-request =
listen =
harakiri =
enable-threads = true
master = true
daemonize = /var/www/logs/pad_math2_api.uwsgi.log

第三步 配置nginx

# server {}
# include /usr/local/nginx/conf/pythonapp/*; server {
listen ;
#server_name 192.168.0.76;
#access_log logs/pad_math2_api.log main;
#error_log logs/pad_math2_api_error.log; location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:;
}
}
server {
listen ;
server_name domain.cn www.domain.cn 101.201.48.0;
access_log /data/logs/www.domain.cn_access.log;
error_log /data/logs/www.domain.cn_error.log; server_name_in_redirect off;
if ($host != www.domain.cn) {
rewrite ^(.*)$ http://www.domain.cn$1 permanent;
} location ^~/site_media/ {
alias /data/www/yj_web/cms/site_media/;
}
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|mov) {
access_log off; # po co mi logi obrazk¨®w :)
expires 30d;
} location ^~/ {
root /data/www/yj_web/cms/templates/html;
index index.html index.htm;
} }

.

django + ngxin + uwsgi 站点部署的更多相关文章

  1. 「Linux+Django」Django+CentOs7+uwsgi+nginx部署网站记录

    转自:http://www.usday.cn/blog/51 部署前的准备: 1. 在本地可以运行的django项目 2. 一台云服务器,这里选用Centos系统 开始部署: 首先在本地导出项目需要的 ...

  2. django+nginx+uwsgi 项目部署

    Django虽然自带一个Server,但只能作为开发时测试使用,我们需要一个可以稳定而持续的服务器对网站进行部署,比如Apache, Nginx, lighttpd等,本篇将利用nginx和uWSGI ...

  3. virtualvenv+django+uWSGI+nginx 部署

    原创博文 转载请注明出处! 1. virtualvenv 2. django 3. uWSGI 4. nginx 5. 踩坑记录 1. virtualvenv virtualvenv install ...

  4. 使用uWSGI+nginx部署Django项目

    最近使用django写了一些项目,不过部署到服务器上碰到一些问题,还有静态文件什么的一堆问题,这里总结一下碰到的问题和解决方案,总体思路是按照官方文档走的. 原文地址:http://uwsgi-doc ...

  5. CentOS上部署Django+Nginx+Uwsgi环境

    在CentOS上部署Django+Nginx+Uwsgi环境 奇谭  2016-09-01 评论  Linux  python django nginx uwsgi VirtualEnv的作用:创建隔 ...

  6. django+uwsgi+nginx部署(非常详细)

    django+uwsgi+nginx部署 1.介绍: 在网上看了很多教程,但自己部署了很久都没有成功,这篇博文记录自己所踩过得坑. 2.环境: Ubuntu 16.04.1 LTS (GNU/Linu ...

  7. ubuntu18+uwsgi+nginx部署django项目

    更新系统软件源 sudo apt-get update pip3安装 sudo apt install python3-pip 安装virtualenvwrapper pip3 install vir ...

  8. Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx)

    Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx) 一丶集群和Nginx反向代理 ...

  9. Django+uWSGI+Nginx 部署网站

    Django 1.11设置 保证Django在本地调试没有问题: 当然这是前提^_^ 收集静态文件至指定文件夹 Django静态文件设置具体参考:https://docs.djangoproject. ...

随机推荐

  1. 2.Abstract Factory 抽象工厂(创建型模式)之简单工厂

    简单工厂 1.只有一个工厂(具体的,没有抽象) 2.只生产一种产品(抽象的产品) 3.这种产品可以有多种具体产品类型(派生) 代码实现 class Program { static void Main ...

  2. HTML CSS简单总结

    1.css 的border属性改变hr颜色小示例 <hr style="border:0;background-color:#ff0000;height:1px;margin:0;pa ...

  3. phpcms v9 如何实现用户登录

    因为有时候我们需要自己实现用户登录,比如我们用phpcms做一个微信Oauth2.0授权,授权之后直接登录,这过程中不需要用户输入账户和密码.所以我们就要搞清楚,phpcmsv9它是怎么实现用户登录的 ...

  4. 操作SQLite数据库

    本文摘自: http://docs.blackberry.com/en/developers/deliverables/25108/Creating_and_deleting_SQLite_datab ...

  5. MATLAB学习笔记(五)——MATLAB绘图

    (一)二维数据曲线图 一.绘制单根二维曲线 1.基本调用格式 plot(x,y) (1)x,y为长度相同的向量,分别用于储存x坐标和y坐标数据 (2)用于绘制以x,y为横,纵坐标的二维曲线. (3)举 ...

  6. .NET中异常处理的最佳实践(转)

    原文出处: CodeProject   译文出处:周见智的博客   欢迎分享原创到伯乐头条 介绍 “我的软件程序从来都不会出错”.你们相信吗?我几乎可以肯定所有人都会大喊我是个骗子.“软件程序几乎不可 ...

  7. [LintCode] Word Break

    Given a string s and a dictionary of words dict, determine if s can be break into a space-separated ...

  8. reqSUB错误

    ---- ERROR ----    Error in dispatcher subroutine reqSUB: Invalid PAR(1): 0502 上面是用adams/ca加载一个汽车模型时 ...

  9. 匈牙利命名法——命名规范(知道这些再看Windows程序就轻松多了)

    匈牙利命名法著名的命名规则当推Microsoft公司的"匈牙利"法,该命名规则的主要思想是"在变量和函数名中加入前缀以增进人们对程序的理解".例如所有的字符变量 ...

  10. Android MVVM框架RoboBinding初探

    RoboBinding是一个实现了数据绑定 Presentation Model(MVVM) 模式的Android开源框架.MVVM模式是MVC模式的重要更新,使得项目结构更加的优美,易于维护以及方便 ...