zoukankan      html  css  js  c++  java
  • 腾讯云 python3+Django

    !!!注意:如果已经包含了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
  • 相关阅读:
    Android中手机录屏并转换GIF的两种方式
    Android中访问sdcard路径的几种方式
    Android中开发工具Android Studio修改created用户(windows环境)
    [UOJ211][UER #6]逃跑
    [CF1168D]Anagram Paths
    [CF852H]Bob and stages
    Codechef BINOMSUM
    [ZJOI2019]开关
    [CF1161F]Zigzag Game
    [CF1149E]Election Promises
  • 原文地址:https://www.cnblogs.com/dalanjing/p/8636338.html
Copyright © 2011-2022 走看看