!!!注意:如果已经包含了python3.5,跳过安装3.6版本。

!!!本人安装完3.6后,pip3安装的包始终没法安装到3.6目录下,只能安装到3.5目录下

1,安装python3.6(用编译的方法)

1下载地址

wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz

2解压缩

tar -xvf Python-3.6.0.tgz

3创建安装的路径

sudo mkdir /usr/local/python3

4进入解压缩后的文件夹,编译安装

./configure --prefix=/usr/local/python3
make
sudo make install

5创建新版本的软连接

1、修改旧版本

sudo mv /usr/bin/python /usr/bin/python_bak

2、创建新的软连接

sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python
3、检查python的版本 python -V python-3.6.0 软连接创建成功

6安装pip3

sudo apt install python3-pip
sudo ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

可以试试 pip3 -V 是对应哪个版本的python

2,Django

1安装Django2.0

sudo pip3 install django
需要用pip3

2创建Django项目

进入/data文件夹,创建名为“helloworld”的项目
cd /data
sudo django-admin startproject helloworld

3修改配置文件

修改 /data/helloworld/helloworld/settings.py 文件权限为其它人可写

sudo chmod 666 /data/helloworld/helloworld/settings.py
将 ALLOWED_HOSTS = [] 修改为 ALLOWED_HOSTS = ["115.159.157.136"] ,这样可以允许通过 ip 访问
在实际运营中一般要改为对应的域名

4启动django自带web服务器

cd helloworld
sudo python manage.py runserver 0.0.0.0:8080

5使用浏览器访问,就能看到成功显示网页了

http://115.159.157.136:8080/

6 ctrl+C 关闭web服务器

7创建应用,到项目根目录下

sudo python manage.py startapp learn

8把我们新定义的app加到settings.py中的INSTALL_APPS中

修改 helloworld/helloworld/settings.py

# Application definition

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'learn',
]

9将/data/helloworld/learn/views.py修改权限为其它人可写

sudo chmod 666 /data/helloworld/learn/views.py

编辑内容

from django.http.response import HttpResponse

def hello(request):
user = request.GET.get('user')
if not user: user = 'world'
return HttpResponse('hello %s' % user)

10修改 urls.py 文件权限

修改 /data/helloworld/helloworld/urls.py 文件权限为其它人可写,并且修改为

sudo chmod 666 /data/helloworld/helloworld/urls.py

from django.contrib import admin
from django.urls import path

from learn import views as learn_views

urlpatterns = [
path('admin/', admin.site.urls),
path('hello',views.hello),
]

11启动web服务器,浏览器输入网址

sudo python manage.py runserver 0.0.0.0:8080
http://115.159.157.136:8080/hello
http://115.159.157.136:8080/hello?user=test

12关闭web服务器

3部署 uwsgi 和 nginx

1使用 pip 安装 uwsgi

sudo pip install uwsgi

2配置 uwsgi

创建文件 /data/helloworld/uwsgi.ini ,并修改权限为其它人可写

sudo touch /data/helloworld/uwsgi.ini
sudo chmod 666 /data/helloworld/uwsgi.ini

编辑输入以下内容

[uwsgi]
chdir = /data/helloworld
module = helloworld.wsgi
socket = 127.0.0.1:8080
master = true
vhost = true
no-site = true
workers = 2
reload-mercy = 10
vacuum = true
max-requests = 1000
limit-as = 512
buffer-size = 30000
pidfile = /tmp/uwsgi.pid
daemonize = /tmp/uwsgi.log

3启动uwsgi

找到uwsgi所在位置,并加入环境变量

whereis uwsgi

得到结果:uwsgi: /usr/local/bin/uwsgi

export PYTHONPATH=/usr/local/bin

启动uwsgi
uwsgi --ini /data/helloworld/uwsgi.ini

4安装nginx

sudo apt-get install nginx -y

5添加 nginx 配置文件

创建文件 /etc/nginx/sites-enabled/helloworld.conf ,并修改权限为其它人可写

sudo touch /etc/nginx/sites-enabled/helloworld.conf
sudo chmod 666 /etc/nginx/sites-enabled/helloworld.conf
server {
listen 80;
server_name 115.159.157.136; charset utf-8; location / {
uwsgi_pass 127.0.0.1:8080;
include /etc/nginx/uwsgi_params;
client_max_body_size 10m;
} client_body_timeout 3m;
send_timeout 3m;
proxy_send_timeout 3m;
proxy_read_timeout 3m;
}

6重启nginx服务

sudo systemctl restart nginx

7测试 nginx + uwsgi + django 是否工作正常

http://115.159.157.136/hello

腾讯云 python3+Django的更多相关文章

  1. Django线上部署教程:腾讯云+Ubuntu+Django+Uwsgi(转载)

    网站名称: 向东的笔记本 本文链接: https://www.eastnotes.com/post/29 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议.转载请注明出处! ...

  2. 腾讯云快速完成python3.6开发环境搭建与django应用部署

    [本文出自天外归云的博客园] 部署python3.6.5 腾讯云服务器安装python3竟然要3个多小时!而且一度速度为0…… 于是网查据说是腾讯云服务器连python官网缓慢导致的,所以想找个国内的 ...

  3. 腾讯云centos6.5下部署django环境

    基于腾讯云CentOS6.5的环境 首先说下需要用到的软件 1.gcc环境 腾讯云默认是没有gcc编译器的,需要手动安装一下:yum install gcc 2.python环境 因为我用的cento ...

  4. Python web项目Django部署在Ubuntu18.04腾讯云主机上

    Django2.1 + Python3.6 + nginx + uwsgi 部署到Ubuntu18.04 材料准备 准备一个Django项目 准备一台Ubuntu18.04的主机 ssh连接到主机(腾 ...

  5. 腾讯云服务器部署 django项目整个流程

    CentOS7下部署Django项目详细操作步骤 前记:购买腾讯云服务器,配置自选,当然新用户免费体验半个月,我选择的系统是centos7系统版本, 接下来我们来看整个配置项目流程. 部署是基于:ce ...

  6. Django+vue在腾讯云上搭建前后端分离项目

    最近打算用Django+vue搭建一个个人主站,在此记录一下搭建项目的整个过程. 一 开发环境: 腾讯云Centos     7 Python                3.7 Django    ...

  7. 创建Django项目并将其部署在腾讯云上

    这段时间在做scrapy爬虫,对爬出来的数据基于Django做了统计与可视化,本想部署在腾讯云上玩玩,但是因为以前没有经验遇到了一些问题,在这里记录一下: 首先说下Django的创建与配置: 1. 创 ...

  8. 腾讯云centos安装python3.6和pip

    不知道腾讯云的centos和阿里云的centos一不一样,反正两个云平台的Ubuntu系统是不一样的,照着同样的教程敲,往往掉坑里. 安装一些centos依赖库: 这一步很关键,很多报错往往都因为少了 ...

  9. 阿里云 centos7 django + uWSGI+Nginx + python3 部署攻略

    centos7+nginx+python3+django+uwsgi配置Django 项目部署   1.租的服务器(选择centos)的话,需要在阿里云后台控制台开放几个端口,克隆一下已开放的端口,t ...

随机推荐

  1. 当网卡收到的包的目的地址是主机上另一个网卡的地址.arp总结

    2019/01/13 今天测试发现结果不符合预期呀,发现设置了arp_filter之后,仍然是能ping通主机上的另外一张网卡.但是现在的问题是 -------------------- 内核中是如何 ...

  2. hw_breakpoint使用方法

    hw_breakpoint 使用方法 kprobe在 do_page_fault 函数中不能使用,那么如果真要在这里打点怎么办呢?看看hw_breakpoint是否可用: 事实证明,即便 hw_bre ...

  3. [C/C++] C/C++中数字与字符串之间的转换

    在C中: 方法: 1.C标准库中的sprintf, sscanf 2.C标准库还提供了 atoi, atof, atol, atoll(C++11标准) 函数将字符串转换成int,double, lo ...

  4. Delphi组件开发教程指南目录

    用Delphi开发的时间也不短了!刚接触Delphi的时候,就觉得组件这个东西非常方便!根本不必知道组件内部的作为,只要使用就好了!然而用的多了,也不免会对各种delphi组件的内部实现方式产生兴趣! ...

  5. Delphi GetCurrentDir 获取当前文件夹

    //获取当前文件夹 GetCurrentDirvardir: string;begindir := GetCurrentDir;ShowMessage(dir); //C:\Documents and ...

  6. Delphi中动态创建窗体有四种方式

    Delphi中动态创建窗体有四种方式,最好的方式如下: 比如在第一个窗体中调用每二个,主为第一个,第二个设为动态创建 Uses Unit2; //引用单元文件 procedure TForm1.But ...

  7. HihoCoder 1480:矩阵填数 (杨氏矩阵 || 钩子公式 + 筛逆元)

    描述 小Hi在玩一个游戏,他需要把1, 2, 3, ... NM填入一个N行M列的矩阵中,使得矩阵每一行从左到右.每一列从上到下都是递增的. 例如如下是3x3的一种填法: 136 247 589 给定 ...

  8. 【题解】APIO2013机器人

    其实这题前前后后的思考时间加起来应该有两天之久了,dp状态,转移方式等等都还是比较好想,然而左看右看觉得spfa复杂度未免太爆炸……然后选择看了一篇题解,发现在多重优化之下,其实是可以过的…… 首先建 ...

  9. 【Linux】线程池

    首先,线程池是什么?顾名思义,就是把一堆开辟好的线程放在一个池子里统一管理,就是一个线程池. 其次,为什么要用线程池,难道来一个请求给它申请一个线程,请求处理完了释放线程不行么?也行,但是如果创建线程 ...

  10. 排查nginx、tomcat内存和服务器负载之后

    最近客户现在提出系统访问非常慢,需要优化提升访问速度,在排查了nginx.tomcat内存和服务器负载之后,判断是数据库查询速度慢,进一步排查发现是因为部分视图和表查询特别慢导致了整个系统的响应时间特 ...