前言:我已经写了几个接口用来部署在服务器上的,首先选择django+Uwsgi+Nginx因为配置简单,比较符合python的简单操作功能强大的特点

然后对于django的一些版本在之前的文章写了 参考:https://www.cnblogs.com/Jack-cx/p/9351633.html  根据版本,服务器pip3 install xxx 安装下

我的django项目大概结构:

TestWebApi

----TestWebApi

----Apiso(创建的应用)

----manage.py

1.关闭debug

这时候算是部署正式环境,首先得把debug给关掉,参考之前写的一篇:https://www.cnblogs.com/Jack-cx/p/9348326.html,设置下debug,包含了域名、外网的访问,

另外数据库配置自己根据实际情况修改~

2.尝试启动下,

cd /项目下

python manage.py runserver ip:port

这里有个坑,可能会报错 没有ssl库

rpm -aq|grep openssl    #查看有没有包在服务器

查看结果-这个是正常有的

[root@s011805161450 ~]# rpm -aq|grep openssl

openssl-1.0.1e-48.el6_8.1.x86_64

openssl-devel-1.0.1e-48.el6_8.1.x86_64

没有则安装

# yum install openssl-devel -y

# yum install openssl

vi /usr/local/python36/Modules/Setup

#修改Setup文件

#修改结果如下:

# Socket module helper for socket(2)
_socket socketmodule.c timemodule.c

# Socket module helper for SSL support; you must comment out the other
# socket line above, and possibly edit the SSL variable:
#SSL=/usr/local/ssl
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto

:wq!

重新编译

cd /usr/local/python36/

make && make install

验证
>>> import _ssl
>>> exit()

这时候在启动项目,OK了~

3.既然启动ok了,那么配置下uwsgi

直接安装即可

pip3 install uwsgi

创建配置文件

vi  /etc/uwsgi.ini

[uwsgi]

# Django-related settings

socket = :8100
#端口

# Django项目目录
chdir = /opt/devpython/TestWebApi

# wsgi.py,直接写个项目名.wsgi就可以了
module = TestWebApi.wsgi

# process-related settings
# master
master = true

# 进程数
processes = 4

# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true

daemonize = /var/log/TestWebApi.log #注意如果没有log就不在后台运行了

这样就完了

启动试下,

uwsgi --ini  /etc/uwsgi.ini

查看进程

ps -ef |grep uwsgi

root 1498 1 0 Jul21 ? 00:00:07 uwsgi --ini /etc/uwsgi.ini
root 1500 1498 0 Jul21 ? 00:00:01 uwsgi --ini /etc/uwsgi.ini
root 1501 1498 0 Jul21 ? 00:00:00 uwsgi --ini /etc/uwsgi.ini
root 1502 1498 0 Jul21 ? 00:00:00 uwsgi --ini /etc/uwsgi.ini
root 1503 1498 0 Jul21 ? 00:00:00 uwsgi --ini /etc/uwsgi.ini
root 4992 4912 0 22:14 pts/1 00:00:00 grep --color=auto uwsgi

这样说明成功了~~

4.最后一步配置nginx

vi /opt/nginx/conf/nginx.conf

server {
listen 80;
server_name www.ba.com;  #配置域名,不配置写个localhost就可以了

#charset koi8-r;

#access_log logs/host.access.log main;

location / {
root html;
index index.html index.htm;
include uwsgi_params;
uwsgi_pass 内网ip:端口   #uwsgi配置的端口号
uwsgi_read_timeout 30;

}

刚才uwsgi启动成功了,这会启动nginx

./opt/nginx/sbin/nginx

查看nginx进程

ps -ef |gerp nginx

如下即成功~

root 1505 1 0 Jul21 ? 00:00:00 nginx: master process ./opt/nginx/sbin/nginx
nobody 1506 1505 0 Jul21 ? 00:00:00 nginx: worker process
root 5007 4912 0 22:21 pts/1 00:00:00 grep --color=auto nginx

具体nginx其他操作参考:https://www.cnblogs.com/Jack-cx/p/9356467.html

终于完了,,python后端大概告一段落,我要开始学习性能啦~  后面同样记录到博客园,记录每个坑~~~

@若有理解错误的地方,请留言告知,谢谢~

[linux]centos7.4部署django+Uwsgi+Nginx的更多相关文章

  1. Centos 7 下部署Django + uWSGI + Nginx

    1.废话 之前利用Django写了些测试工具,一直是直接 python manage.py runserver 8081这么来用的.用户量不大,倒也不影响什么.uWSGI+Nginx的性能肯定要好,s ...

  2. centos7下部署Django(nginx+uwsgi+python3+django)

    系统版本 centos7 python版本 使用官方python3.6.3正式版 django版本 使用本文发布时最新的1.11.7 uwsgi版本 使用本文发布时最新的2.0.15 nginx版本 ...

  3. SLAM+语音机器人DIY系列:(八)高阶拓展——2.centos7下部署Django(nginx+uwsgi+django+python3)

    0.安装步骤预览(1)系统默认自带python2.x,所以需要先安装python3.x(2)python2对应pip,python3对应pip3,用源码安装python3后pip3也自动安装了(3)用 ...

  4. linux之Ubuntu下Django+uWSGI+nginx部署

    http://www.chenxm.cc/post/275.html?segmentfault

  5. 在UOS 上部署 django + uwsgi + nginx 流程

    前言:这篇主要是流程,不喜勿喷,虽然我知道在部署过程中 参照博客写的越详细越好. 强大的百度会解决一切的 爬了诸多坑 ,心累,必须总结!! 最近 芯片封锁闹的很凶  支持国产!! UOS 统一操作系统 ...

  6. 学习项目部署Django+uwsgi+Nginx生产环境部署

    绪论 项目生产环境部署,是很重的一个知识点.第一,Django自带的服务器很简陋,由于测试和开发环境尚可,无法用于生产环境,保障安全性和可靠性.以及性能.此外,学习部署方式,还有利于了解生产部署后的项 ...

  7. Ubuntu环境下部署Django+uwsgi+nginx总结

    前言 这是我在搭建Django项目时候的过程,拿来总结记录,以备不时之需. 项目采用nginx+uwsgi的搭配方式. 项目依赖包采用requirements.txt文件管理的方式. 本地准备工作 确 ...

  8. Django Linux环境下部署CentOS7+Python3+Django+uWSGI+Nginx(含Nginx返回400问题处理、防火墙管理)

    本文将介绍如何在Linux系统上部署Django web项目,本次部署基于下面的架构: CentOS7+ Python3.5 + Django1.11 + uWSGI + Nginx 亲测可行!!按照 ...

  9. Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx)

    Linux 集群概念 , wsgi , Nginx负载均衡实验 , 部署CRM(Django+uwsgi+nginx), 部署学城项目(vue+uwsgi+nginx) 一丶集群和Nginx反向代理 ...

随机推荐

  1. 『Python』优雅的记录日志——loguru

    1. 安装 pip install loguru 2. 初识 from loguru import logger logger.debug("This is a debug..." ...

  2. css3中的陌生词汇

    Transform transform属性是静态属性,一旦写到style里面,将会直接显示作用,无任何变化过程.transform的主要用途是用来做元素的特殊变形. 关于图形变形的基础条件当中的原点设 ...

  3. solidity 错误

    solidity版本 0.7.5 Member "transfer" not found or not visible after argument-dependent looku ...

  4. spring Data Jpa的依赖+配置

    spring data jpa 是spring基于的orm框架,jpa规范的基础上封装的一套JPA应用框架 添加的相关依赖: <properties> <spring.version ...

  5. AT4996-[AGC034F]RNG and XOR【FWT,生成函数】

    正题 题目链接:https://www.luogu.com.cn/problem/AT4996 题目大意 给出一个\(0\sim 2^n-1\)下标的数组\(p\),\(p_i\)表示有\(p_i\) ...

  6. minikube addons enable ingress 启动错误

    minikube addons enable ingress 启动错误 开启 minkube ingress 时错误 minikube addons enable ingress --alsologt ...

  7. webRTC中语音降噪模块ANS细节详解(一)

    ANS(adaptive noise suppression) 是webRTC中音频相关的核心模块之一,为众多公司所使用.从2015年开始,我在几个产品中使用了webRTC的3A(AEC/ANS/AG ...

  8. Linux下Electron loadURL报错 ERR_FAILED(-2) Not allowed to load local resource

    Linux下Electron loadURL报错 ERR_FAILED(-2) Not allowed to load local resource 背景 使用electron-vue的时候,窗体创建 ...

  9. 编程模仿MySql客服端

    写在前面 通过自己编写的Java代码程序,去模仿实现MySql客服端的简单功能,最终以控制台操作,很像在Dos窗口通过命令操作MySql数据库. 关键问题 在编写过程中遇到的一些小问题和一些值得留心注 ...

  10. Python中字符串常用方法

    capitalize() String.capitalize() 将字符串首字母变为大写 name = 'xiaoming' new_name = name.capitalize() print(ne ...