热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用nginx+uwsgi配置django项目

一、环境所需安装包与nginx配置yuminstallnginxsqlite-develsqlitezlib-devel openssl-develMySQL-python-ycatetcnginxconf.dpy.confs

一、环境所需安装包与nginx 配置

yum install nginx sqlite-devel sqlite zlib-devel openssl-devel MySQL-python -y

cat /etc/nginx/conf.d/py.conf

server {
    listen 80;
    server_name 192.168.1.160;
    client_max_body_size 100M;

    location / {
        index index.html;
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:9999;
        uwsgi_param UWSGI_SCRIPT demosite.wsgi;
        uwsgi_param UWSGI_CHDIR /opt/demosite;
    }
}

重启生效

systemctl restart nginx

二、配置Python3.6.8

解压python文件

tar -xvf Python-3.6.8.tar.xz

cd /opt/Python-3.6.8

./configure --prefix=/opt/python-3-6-8/

make && make install

配置python 环境变量

vim /etc/profile

export PYTHON_HOME=/opt/python-3-6-8
export PATH=$PYTHON_HOME/bin:$PATH

source /etc/profile

三、安装Django框架和uwsgi

配置pip安装源

mkdir /root/.pip/

vim /root/.pip/pip.conf

[global]
timeout = 6000
index-url = http://mirrors.aliyun.com/pypi/simple
trusted-host = mirrors.aliyun.com

pip 安装所需要的安装包

cat uwsgi.txt

asn1crypto==0.24.0
beautifulsoup4==4.6.3
bs4==0.0.1
certifi==2018.4.16
cffi==1.11.5
chardet==3.0.4
Click==7.0
cryptography==2.3.1
Django==1.11.9
Flask==1.0.2
Flask-Cors==3.0.6
gevent==1.3.6
greenlet==0.4.15
idna==2.7
ItsDangerous==1.1.0
Jinja2==2.10
lxml==4.2.6
MarkupSafe==1.0
numpy==1.15.3
Pillow==5.3.0
pycparser==2.18
PyMySQL==0.9.2
pytz==2018.7
requests==2.19.1
selenium==3.141.0
six==1.11.0
urllib3==1.23
virtualenv==16.1.0
Werkzeug==0.14.1
wordcloud==1.5.0
uwsgi

pip3 install -r uwsgi.txt


配置uwsgi 测试页

cat /opt/test.py

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello Django"]

运行测试程序页

uwsgi --http :8001 --wsgi-file test.py &

四、配置uwsgi项目

cat uwsgi.ini

[uwsgi]
socket = 127.0.0.1:9999
master = true
workers = 2
max-requests = 1000
buffer-size = 30000
pidfile = /run/uwsgi.pid
daemonize = /var/log/uwsgi.log

启动uwsgi

uwsgi --ini uwsgi.ini &

修改访问权限:

cd /opt/demosite/demosite

vim settings.py

ALLOWED_HOSTS = ['*']

添加mysql支持

cat __init__.py

import pymysql

pymysql.install_as_MySQLdb()

配置数据库(需要提前创建数据库,数据库名为,'bbs')

settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'bbs',
    'HOST':'127.0.0.1',
    'USER':'root',
    'PORT':3306,
    'PASSWORD':'y',
    }
}

五、创建与启动django项目

django-admin.py startproject demosite
cd demosite
python3 manage.py runserver 0.0.0.0:8002

测试:

在浏览器内输入:http://127.0.0.1:8002,检查django是否运行正常。

最后整体测试:

http://192.168.1.160/

使用nginx+uwsgi配置django项目




推荐阅读
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
  • Nginx入门指南:从零开始掌握基础配置与优化技巧
    Nginx入门指南:从零开始掌握基础配置与优化技巧 ... [详细]
  • 在使用 PHP 通过 SSL 安全连接到 MySQLi 数据库服务器时,遇到了一些技术难题。我的环境包括一个 Web 服务器和一个数据库服务器,两者均使用 OpenSSL 生成了证书。尽管证书内容一致,但在尝试从 Web 服务器使用 `mysql` 命令进行连接时,仍然遇到了问题。为了确保连接的安全性和稳定性,需要进一步检查证书配置和 PHP 的 SSL 设置,以排除潜在的配置错误或兼容性问题。 ... [详细]
  • 在无网络环境下于CentOS 7系统中离线部署Nginx服务器
    nginx背景俄罗斯程序员IgorSysoev创建,于2004年NGINX首次发布,来解决C10K问题(10000并发客户端连接到单个服务器,导致服务器连接数过多崩溃的问题),是一 ... [详细]
  • 阿里云系统默认是关闭IPv6模块的,因此使用He.net所提供的TunnelBroker将其接入IPv6网络。下面开始修改系统配置,以便支持v6。操作前 ... [详细]
  • solo开源个人博客搭建记录
    部署概述安装docker--docker安装mysql--docker安装solo--docker安装nginx--docker安装lute如果不做https的话ÿ ... [详细]
  • Git基础操作指南:掌握必备技能
    掌握 Git 基础操作是每个开发者必备的技能。本文详细介绍了 Git 的基本命令和使用方法,包括初始化仓库、配置用户信息、添加文件、提交更改以及查看版本历史等关键步骤。通过这些操作,读者可以快速上手并高效管理代码版本。例如,使用 `git config --global user.name` 和 `git config --global user.email` 来设置全局用户名和邮箱,确保每次提交时都能正确标识提交者信息。 ... [详细]
  • Spring Boot 实战(一):基础的CRUD操作详解
    在《Spring Boot 实战(一)》中,详细介绍了基础的CRUD操作,涵盖创建、读取、更新和删除等核心功能,适合初学者快速掌握Spring Boot框架的应用开发技巧。 ... [详细]
  • 深入解析Tomcat:开发者的实用指南
    深入解析Tomcat:开发者的实用指南 ... [详细]
  • MySQL性能优化与调参指南【数据库管理】
    本文详细探讨了MySQL数据库的性能优化与参数调整技巧,旨在帮助数据库管理员和开发人员提升系统的运行效率。内容涵盖索引优化、查询优化、配置参数调整等方面,结合实际案例进行深入分析,提供实用的操作建议。此外,还介绍了常见的性能监控工具和方法,助力读者全面掌握MySQL性能优化的核心技能。 ... [详细]
  • 如何在主服务器响应变慢时,自动切换至备用服务器地址以确保服务连续性
    在主服务器响应速度下降时,如何通过编程实现自动切换至备用服务器地址,以确保服务的连续性和稳定性。本文将介绍一种基于PHP和MySQL的解决方案,通过监测主服务器的响应时间,当检测到延迟过高时,自动切换至备用服务器接口,从而保障系统的高可用性。 ... [详细]
  • 黄聪:MySQL主从复制配置,实现高效读写分离
    大型网站为应对高并发访问,不仅需要在前端实现分布式负载均衡,还需在数据业务和访问层采取有效措施。采用传统的数据结构已无法满足需求,通过配置MySQL主从复制,可实现高效的读写分离,显著提升系统性能和稳定性。 ... [详细]
  • 2023年6月19日:重要日期回顾与展望
    13.1设置更改root密码更改MySQL数据库root密码1.首次进入数据库是不用密码的,如下所示: usrlocalmysqlbinmysql-uroot       使用绝对 ... [详细]
  • Redis支持哪几种数据类型?支持多种类型的数据结构1.string:最基本的数据类型,二进制安全的字符串,最大512M。2 ... [详细]
  • Django 学习笔记(三)
    在模板文件中,还能嵌套入模板标签,做一些特殊处理,例如流程控制,下面将简单介绍下模板标签,主要介绍if和for ... [详细]
author-avatar
chajian004_566_696
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有