阿里云Centos+Django+Nginx+uWSGI
针对系统中自带的Python2.7版本
- 1.安装python-devel
yum install python-devel
- 2.安装uwsgi
pip install uwsgi
- 3.测试uwsgi是否能正常工作
# 1.新建一个index.py
[root@iZss911l4lr8aaZ ~]# touch index.py
[root@iZss911l4lr8aaZ ~]# vi index.py
# index.py
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return "Hello World"
# 2.
uwsgi --http :8000 --wsgi-file index.py
浏览器访问8000端口看是否有hello world输出
注意:确保8000端口能被外网访问
错误: 不能访问
解决: 在阿里云的安全组中添加8000端口的访问权限
- 4.测试Django能否正常工作
# 1
[root@iZss911l4lr8aaZ /]# pip install django
[root@iZss911l4lr8aaZ var]# mkdir /var/www
[root@iZss911l4lr8aaZ /]# cd /var/www
$ django-admin startproject mysite
$ cd mysite
$ python manage.py runserver 0.0.0.0:8000
错误 :Error: That port is already in use.
解决:
[root@iZss911l4lr8aaZ mysite]# netstat -apn|grep 8000
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 10127/uwsgi
[root@iZss911l4lr8aaZ mysite]# kill -9 10127
# 2
浏览器访问8000端口看是否有hello world输出
错误:
解决:
[root@iZss911l4lr8aaZ mysite]# vim mysite/settings.py
添加:
ALLOWED_HOSTS = [u'112.74.207.218']
在django的setting文件中,添加下面一行内容:
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
然后运行:
python manage.py collectstatic
- 5.测试uwsgi是否能和django集成
uwsgi --http :8000 --chdir=/var/www/mysite --module mysite.wsgi
错误:bind(): Address already in use [core/socket.c line 769]
解决:
[root@iZss911l4lr8aaZ mysite]# netstat -apn|grep 8000
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 10194/python
[root@iZss911l4lr8aaZ mysite]# kill -9 10194
- 6.配置Nginx,使Nginx能为Django提供服务
# 1
yum install nginx
# 2
[root@iZss911l4lr8aaZ mysite]# touch /etc/nginx/conf.d/mysite_nginx.conf
[root@iZss911l4lr8aaZ mysite]# cp /etc/nginx/uwsgi_params /var/www/mysite/uwsgi_params
[root@iZss911l4lr8aaZ mysite]# vim /etc/nginx/conf.d/mysite_nginx.conf
upstream django {
server 127.0.0.1:8000;
}
server {
listen 80;
server_name 112.74.207.218;
charset utf-8;
client_max_body_size 75M;
location /media {
alias /var/www/mysite/media;
}
location /static {
alias /var/www/mysite/static;
}
location / {
uwsgi_pass django;
include /var/www/mysite/uwsgi_params;
}
}
# 3
检查配置文件是否出错
nginx -t
# 4
启动nginx服务
CentOS 7启动服务的命令是
systemctl restart nginx.service
错误:502 错误
解决:执行下面一个命令,启动uwsgi。
uwsgi --socket :8000 --chdir=/var/www/mysite --module mysite.wsgi
阿里云的防火墙网址
参考
阿里云Centos+Django+Nginx+uWSGI的更多相关文章
- 阿里云centos配置nginx和nodejs
今天新买了阿里云,想把网站跑起来,于是记录跑起来的过程 1.购买域名 2.购买解析 3.购买ecs主机 4.ssh登录主机 5.安装vsftpd 6.配置ftp用户.文件夹.权限 7.安装nginx/ ...
- 云效(阿里云)流水线 + nginx + uWsgi + flask + python3 基础环境搭建 --备忘
一.开发环境搭建 1.安装python3 yum -y groupinstall "Development tools" yum -y install zlib-devel bzi ...
- centos django+Nginx+uwsgi部署
第五天 部署python3+uwsgi+nginx的博客系统 ================================ mysql基本命令 mysql mysql -p mysqladmin ...
- CentOS上部署Django+Nginx+Uwsgi环境
在CentOS上部署Django+Nginx+Uwsgi环境 奇谭 2016-09-01 评论 Linux python django nginx uwsgi VirtualEnv的作用:创建隔 ...
- CentOS 6.5下安装Python+Django+Nginx+uWSGI
1.安装Python31.1先安装zlib库及其他三方库安装uWSGI时需要使用zlib,否则执行python uwsgiconfig.py --build时会报ImportError,就是因为在安装 ...
- 阿里云centos 安装和配置 DokuWiki
安装 1) 添加虚拟主机:由于我的 阿里云CentOs服务器 安装了oneinstack的一键部署PHP.JAVA.Nginx等环境,所以域名配置很方便,照着文档一步一步做就可以了 cd /root/ ...
- Install Python+Django+Nginx+UWSGI
一.软件环境: CentOS6.6_64bit 需要用到的软件: [root@django tools]# ll 总用量 33336 -rw-r--r-- 1 root root 7497785 3月 ...
- 阿里云部署django实现公网访问
本博的主要目的是对阿里云部署django实现公网访问进行一次简单的记录,方便日后查询. 内容目录: (1)申请阿里云服务器及安全组配置 (2)实现ssh远程控制 (3)实现ftp文件传输 (4)安装p ...
- 吴裕雄--天生自然Django框架开发笔记:Django Nginx+uwsgi 安装配置
Django Nginx+uwsgi 安装配置 使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,需要一个可以稳定而持续的服务器,比如 ...
随机推荐
- 微信小程序-数据绑定
在js页面的data字典内添加绑定数据 data: { "messg":"helloworld " }, 在wxml页面内使用{{}}调用数据
- TCP报文格式
转载自https://blog.csdn.net/mary19920410/article/details/58030147 1.TCP报文格式 TCP报头中的源端口号和目的端口号同IP数据报中的源I ...
- Python设计模式 - UML - 活动图(Activity Diagram)
简介 活动图描述从一个活动到另一个活动的执行顺序.约束条件.引用对象及状态结果等方面的控制流,适用于对业务用例.工作流程或程序实现建模. 活动图建模步骤 - 确定活动图的范围和边界,对哪些工作流.哪些 ...
- Python之Unittest和Requests库详解
1.按类来执行 import unittest class f1(unittest.TestCase): def setUp(self): pass def tearDown(self): pass ...
- TZOJ 5694 区间和II(树状数组区间加区间和)
描述 给定n个整数,有两个操作: (1)给某个区间中的每个数增加一个值: (2)查询某个区间的和. 输入 第一行包括两个正整数n和q(1<=n, q<=100000),分别为序列的长度和操 ...
- Hillstone设备管理-恢复出厂设置
1.CLI命令行操作 unset all: 根据提示选择是否保存当前配置y/n: 选择是否重启y/n: 系统重启后即恢复到出厂设置. 2.webUI操作 “系统”—“配置”,点击“清除”按钮,系统会提 ...
- linux之systemd---学习
linux 操作系统的启动首先从 BIOS 开始,接下来进入 boot loader,由 bootloader 载入内核,进行内核初始化.内核初始化的最后一步就是启动 PID 为 1 的 init 进 ...
- 缓存cache介绍
1. 为何要用缓存.缓存的目的是为了什么?(https://my.oschina.net/u/3378039/blog/2986697) 一个程序的瓶颈在于数据库,内存的速度远远大于硬盘的速度,当我 ...
- Newtonsoft.Json 你必须知道的一些用法
最近在做接口开发,对方团队开发了一个Web API 的接口,传输数据的格式是 JSON.当时看到这个东西,感觉很简单,也没想什么,没用多久就完成了我的功能,我完成的功能很简单,就是获取数据,然后把数据 ...
- python 数据库mysql、redis及发送邮件
python 关系型数据库链接使用--mysql import pymysql # 引用mysql模块 # 创建连接,指定数据库的ip地址,账号.密码.端口号.要操作的数据库.字符集coon = py ...