给我一台全新的服务器,使用nginx+gunicorn+supervisor部署django
0.准备工作
在一台全新的服务器中新建用户以及用户的工作目录,之后的操作都以这个用户的身份进行,而不是直接用root。
举个栗子:
在服务器下新建用户rinka并赋予sudo权限
1) root登陆,sudo useradd rinka 新建用户rinka
2) sudo passwd rinka 给用户rinka设置密码
3) adduser rinka sudo 将用户rinka加入sudo组
4) cd /home 进入home目录
5) mkdir rinka 在home下新建目录rinka
6) chown rinka rinka 将/home/rinka目录的所有者改为rinka
7) su - rinka 切换到用户rinka登录
1.安装python
我使用的是anaconda来管理python包
1) 从anaconda官网下载Anaconda3-4.11-Linux-x86.64.sh,放到/home/rinka目录下
2) 安装anaconda3,运行bash /home/rinka/Anaconda3-4.11-Linux-x86.64.sh
3) 安装过程中可以选yes,自动在~/.bashrc中添加~/.anaconda3/bin
4) 运行source ~/.bashrc
注意:
如果定义的.bashrc不工作,原因是shell指向的是dash而不是bash。要知道自己的/bin/sh指向何种解释器,可以用 ls /bin/sh -al 命令查看:$ ls /bin/sh -allrwxrwxrwx 1 root root 4 11月 16 15:33 /bin/sh -> dash以上结果就表示当前系统用的是dash解释器。切换dash到bash很简单,运行 dpkg-reconfigure dash,然后选择 "No"。
2.安装mysql
1) 下载mysql-apt-config_0.7.3-1_all.deb,放到/home/rinka目录下
2) sudo dpkg -i mysql-apt-config_0.7.3-1_all.deb
3) sudo apt-get update
4) sudo apt-get install mysql-server
5)初始mysql密码为空,mysqladmin -u root password 设置密码
3.安装nginx、gunicorn、supervisor
1)sudo apt-get install nginx
2)pip install gunicorn
3)sudo apt-get install supervisor
4.安装django相关包
1)conda install django
2)conda install pymysql
5.配置gunicorn
1)在django项目star根目录下创建gunicorn.conf
# 指定workers的数目,使用多少个进程来处理请求(workers数量=CPU*2+1) workers = 3 # 绑定本地端口 bind = '127.0.0.1:8000’
[program:star] command=/home/rinka/anaconda3/bin/gunicorn star.wsgi:application -c /home/rinka/star/gunicorn.conf directory=/home/rinka/star user = rinka stdout_logfile = /var/log/supervisor/star.log redirect_stderr = true environment=LANG=en_US.UTF-8,LC_ALL=en_US.UTF-8
2)日志文件需要我们手动创建一下:
5)当supervisorctl启动app失败,显示ERROR (abnormal termination),使用以下命令查看错误信息
server { listen 80; server_name www.rinka.site; location / { add_header Access-Control-Allow-Origin "*"; include proxy_params; proxy_pass http://127.0.0.1:8000; } location /static/{ root /var/www; } location /media/{ root /var/www; } }
2)检查nginx配置文件是否正确:sudo nginx -t
给我一台全新的服务器,使用nginx+gunicorn+supervisor部署django的更多相关文章
- ubuntu服务器上用Nginx和Uwsgi部署django项目
开发环境:ubuntu系统,python3环境 django项目目录: fast_foot 为项目根目录,app为项目应用 现在,我们登陆远程服务器 安装Nginx 安装好了,我们看一下nginx的配 ...
- nginx+uwsgi部署Django项目到Ubuntu服务器全过程,以及那些坑!!!
前言:自己在windows上用PyCharm编写的Django项目,编写完后在windows上运行一点问题都没有,但是部署到服务器上时却Bug百出.百度,CSDN,sf,各种搜索寻求解决方案在历时3天 ...
- 中小企业上云首选,华为云全新云服务器S6性能评测分析
转: 中小企业上云首选,华为云全新云服务器S6性能评测分析 [小宅按]今天,华为云全新弹性云服务器ECS通用计算型云服务器S6(以下简称为"华为云S6云服务器")正式发布,至顶网云 ...
- 使用Java管理千台规模Linux服务器_入门
http://www.oschina.net/code/snippet_222919_11734 代码分享 当前位置: 代码分享 » Java » 网络编程 搜 索 [饶过] 使用Java管理千 ...
- 搭建一台deeplearning的服务器
在计算机时代的早期,一名极客的满足感很大程度上来源于能DIY一台机器.到了深度学习的时代,前面那句话仍然是对的. 缘起在2013年,MIT科技评论将深度学习列为当年十大科技突破之首.其原因在于,模型有 ...
- 为一个支持GPRS的硬件设备搭建一台高并发服务器用什么开发比较容易?
高并发服务器开发,硬件socket发送数据至服务器,服务器对数据进行判断,需要实现心跳以保持长连接. 同时还要接收另外一台服务器的消支付成功消息,接收到消息后控制硬件执行操作. 查了一些资料,java ...
- 在阿里云服务器windows server2012r iis上部署.net网站
先说一堆废话:之前在阿里云上租了一个服务器,也配置了相关的环境,然后准备把自己手上的一个小网站挂上去,就按照我的上篇博客记载的方法把发布好的网站发布到服务器的iis上,结果发布之后死活访问不了,始终显 ...
- 如何在IIS上发布网站 在阿里云服务器windows server2012r iis上部署.net网站
如何在IIS上发布网站 本片博客记录一下怎么用IIS发布一个网站,以我自己电脑上一个已经开发完成的网站为例: 1.打开项目 这是我电脑上的一个项目,现在我记录一下将这个项目发布到iis上的整个过程 ...
- 阿里云轻量级服务器和NGINX部署Django项目
部署条件: 1.一台阿里云服务器(本人的是CentOS系统的服务器) 2.已经构建好的项目 3.服务器上安装并配置Nginx 首先第一步:在服务器上安装并配置Nginx 进入服务器 $ ssh roo ...
随机推荐
- Qemu,KVM,Virsh傻傻的分不清
当你安装了一台Linux,想启动一个KVM虚拟机的时候,你会发现需要安装不同的软件,启动虚拟机的时候,有多种方法: virsh start kvm命令 qemu命令 qemu-kvm命令 qemu-s ...
- 顺便说说webservice
webservice这玩意框架也挺多的.就这玩意我知道cxf,axis2,jersey.通过jdk也能产生webservie.感觉这东西太多,有时间知道点就写点吧.先挖坑在此
- 把mmapv1存储引擎存储的mongodb3.0数据库数据复制到WiredTiger存储引擎的mongodb3.2中
mongodb3.0在mmapv1的存储引擎基础上添加了一个新的存储引擎WiredTiger.但是3.0的默认存储引擎依旧是mmapv1,因此我们项目之前也就用的默认方式. 但是mongodb更新实在 ...
- zTree实现地市县三级级联DAO接口
zTree实现地市县三级级联DAO接口 ProvinceDao.java: /** * @Title:ProvinceDao.java * @Package:com.gwtjs.dao * @Desc ...
- AJAX跨域问题总结
跨域是什么? 首先说下同源,同源策略是浏览器的一种安全策略,所谓同源是指,域名,协议,端口完全相同.而跨域就是不同源 ! 能够进行跨域的请求 一般a,img,link[rel=stylesheet], ...
- SPOJ D-QUERY
以前主席树学 kungbin 最近看了网上的版本 终于发现和我以前学的线段树差不多的了 希望最近能够加强 #include<bits/stdc++.h> using namespace ...
- 改造 vue-cli 脚手架
改造 vue-cli 脚手架 注意,这里使用的 vue-cli 的版本为 2.8.2,不同版本的 vue-cli 可能会有些许不一样. 一.配置多页面 项目开发目录: 需要注意一点,每个页面的文件夹命 ...
- JS倒计时特效--JavaScript基础
1.倒计时特效HTML源码 <!DOCTYPE html><html lang="en"><head> <meta charset=&qu ...
- 让安卓app支持swf的一个播放器,和自己编写的音乐管理程序
jcenter方式导入 在需要用到这个库的module中的build.gradle中的dependencies中加入 dependencies { compile 'com.yhd.hdswfplay ...
- ssm框架之将数据库的数据导入导出为excel文件
在这里首先我要将自己遇到的各种问题,以及需求记录下来,做一个备忘,便于以后查看: 需求:主要实现两个功能,将oracle数据库里的数据导出为excel,同时需要将excel表格的数据导入到数据库 环境 ...