uwsgi

Linux 安装Nginx

断了今生、忘了曾经 提交于 2020-08-12 00:20:55
去 官网http://nginx.org/ 下载对应的nginx包,推荐使用稳定版本 上传nginx到linux系统 /home/software 安装相关环境 安装依赖环境 (1)安装gcc环境 yum install gcc-c++ (2)安装PCRE库,用于解析正则表达式 yum install -y pcre pcre-devel (3)zlib压缩和解压缩依赖, yum install -y zlib zlib-devel (4)SSL 安全的加密的套接字协议层,用于HTTP安全传输,也就是https yum install -y openssl openssl-devel 4.解压,需要注意,解压后得到的是源码,源码需要编译后才能安装 tar -zxvf nginx-1.16.1.tar.gz 5.编译之前,先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错 mkdir /var/temp/nginx -p 6.在nginx目录,输入如下命令进行配置,目的是为了创建makefile文件 ./configure \ --prefix=/usr/local/nginx \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --error-log-path=

python项目部署

倾然丶 夕夏残阳落幕 提交于 2020-08-11 12:36:35
python项目部署 web项目 可以使用Nginx+uwsgi+flask/Django python安装uwsgi apt-get install build-essential python-dev //先安装依赖 1)通过pip安装 pip install uwsgi 2)通过安装脚本安装 curl http://uwsgi.it/install | bash -s default /tmp/uwsgi 3)源代码安装 wget http://projects.unbit.it/downloads/uwsgi-latest.tar.gz tar zxvf uwsgi-latest.tar.gz cd uwsgi-latest make 安装完成后,在当前目录下,你会获得一个 uwsgi 二进制文件 使用例子 创建文件 foobar.py def application(env, start_response): start_response('200 OK', [('Content-Type','text/html')]) return [b"Hello World"] 将程序部署在HTTP端口 9090 上: uwsgi --http :9090 --wsgi-file foobar.py 添加并发和监控 默认情况下,uWSGI 启动一个单一的进程和一个单一的线程。

uWSGI 漏洞复现(CVE-2018-7490)

允我心安 提交于 2020-08-11 04:55:57
查了下uWSGI漏洞利用方式,发现这么竟然这么简单。。。很低级的漏洞 可以直接在url中输入../../../../../.. 返回到根目录的情况下,读到任意文件。。。。。 ../../../../../../../ 可以写很多,以保证可以返回到目录,如果返回到根目录,继续../ 还是会停留在根目录中,所以尽量多写,以保证可以确保到根目录 以下为 墨者在线漏洞库的实战 返回到根目录,需要../../../../../../../key.txt 直接使用不行 可以用”/”的url编码“%2f”代替,即:..%2f..%2f..%2f..%2f..%2f..%2fkey.txt 成功读取到key.txt文件的内容 来源: oschina 链接: https://my.oschina.net/u/4271220/blog/4294694

原创Docker部署Django由浅入深系列(上):单容器部署Django + Uwsgi

我们两清 提交于 2020-08-09 18:59:59
Django在生产环境的部署还是比较复杂的, 令很多新手望而生畏, 幸运的是使用Docker容器化技术可以大大简化我们Django在生产环境的部署。 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移动的镜像中,然后发布到任何流行的 Linux机器上。由于未来使用Docker部署Django是大势所趋且小编对网上Docker部署Django的教程不甚满意(坑比较多), 于是决定自己写篇原创教程由浅入深地总结下Docker部署Django的整个过程。由于本文很长,我们将会分三篇发表于公众号【Python Web与Django开发】,主要内容如下: 上篇:使用docker部署Django + Uwsgi(单容器) 中篇:使用docker部署Django + Uwsgi + Nginx (双容器) 下篇:使用docker-compose部署Django + Uwsgi + Nginx + MySQL + Redis (多容器组合) 注意:本文侧重于Docker技术在部署Django时的应用,而不是Docker基础教程。对Docker命令不熟悉的读者们建议先学习下Docker基础命令。 学前核心知识必读 在正式开始我们的Docker之旅前,我们需要了解4个核心知识点: 在Docker与virtualenv或pipenv的区别

CentOS7+Python3+Django+Uwsgi+Nginx部署项目

限于喜欢 提交于 2020-08-09 16:20:46
CentOS7+Python3+Django+Uwsgi+Nginx部署项目 Django是用python语言写的开源web开发框架,并遵循MVC设计。模型(M)- 编写程序应有的功能,负责业务对象与数据库的映射(ORM)。视图(V)- 图形界面,负责与用户的交互(页面)。控制器(C)- 负责转发请求,对请求进行处理。正式发布web服务,我们需要一个可以稳定而持续的服务器,我们可以将 uWSGI 和 Nginx Web 服务器结合使用,实现更高的并发性能。 参考文档: https://www.runoob.com/django/django-nginx-uwsgi.html Python3: https://blog.csdn.net/sere0211/article/details/107661822 1.安装基础开发包 通过 yum 命令安装基础开发包 yum groupinstall -y "Development tools" yum install -y zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel 2.安装Django 通过 pip 命令安装 django pip3 install django 安装项目所需要的依赖模块

fastdfs nginx 安装问题

纵饮孤独 提交于 2020-08-08 21:48:18
Fastdfs6.0.6最新版搭建: https://github.com/happyfish100/fastdfs-nginx-module/releases https://github.com/happyfish100/libfastcommon/releases https://github.com/happyfish100/fastdfs/releases http://nginx.org/en/download.html 1.8版本 nginx 编译出问题,使用这个: git clone https://github.com/happyfish100/fastdfs-nginx-module/ ./configure \ --prefix=/usr/local/nginx \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --with-http_gzip_static_module \ --http-client-body-temp-path=/var/temp/nginx/client \ -

nginx 嵌入式

淺唱寂寞╮ 提交于 2020-08-06 02:33:08
./configure --help --help print this message --prefix=PATH set installation prefix --sbin-path=PATH set nginx binary pathname --modules-path=PATH set modules path --conf-path=PATH set nginx.conf pathname --error-log-path=PATH set error log pathname --pid-path=PATH set nginx.pid pathname --lock-path=PATH set nginx.lock pathname --user=USER set non-privileged user for worker processes --group=GROUP set non-privileged group for worker processes --build=NAME set build name --builddir=DIR set build directory --with-select_module enable select module --without-select_module disable select module -

使用uwsgi+nginx作为django的前端入门时候,提示访问static 404 错误

不打扰是莪最后的温柔 提交于 2020-07-29 02:54:48
原因: django专注后端,前端交给nginx/uwsgi处理。 事情缘由: 我在本地开发django的时候,使用python manage.py runserver 可以正常加载static静态文件;在上线的时候,访问static文件时,一直提示无法访问,提示: GET /static/js/My97DatePicker/WdatePicker.js => generated 2357 bytes in 4 msecs (HTTP/1.0 404) 3 headers in 102 bytes 错误如图: 解决方法: 方案1、通过nginx指定静态路径,(未成功) server { listen 80; server_name plot.gray.XXX.com; location / { alias /opt/cicd/static/; # 手动指定静态文件夹路径 proxy_pass http://127.0.0.1:8000; index index.html index.htm index.jsp; } } 方案2、通过django收集静态文件,并在uwsgi指定对应路径 # 进入项目目录,执行命令 cd django python manage.py collectstatic 查看配置文件 [uwsgi] # 通过uwsgi访问django需要配置成http

uwsgi nginx 部署 flask

血红的双手。 提交于 2020-07-28 09:35:25
当前项目目录 . ├── app ├── app.log ├── app.py ├── config.py ├── manager.py ├── Pipfile ├── Pipfile.lock ├── __pycache__ │ ├── app.cpython-36.pyc │ ├── app.cpython-37.pyc │ └── view.cpython-36.pyc ├── uwsgi.ini └── uwsgi.pid app.py: from flask import Flask, request from flask_restful import Resource, Api import logging import json app = Flask(__name__) app.config['JSON_AS_ASCII'] = False handler = logging.FileHandler('app.log', encoding='UTF-8') logging_format = logging.Formatter( '%(asctime)s - %(levelname)s - %(filename)s - %(funcName)s - %(lineno)s - %(message)s') handler.setFormatter(logging

查看nginx版本号的几种方法

久未见 提交于 2020-07-24 03:30:40
1、 查看服务器上安装的nginx版本号,主要是通过nginx的-v或-V选项,查看方法如下图所示 -v 显示 nginx 的版本。 -V 显示 nginx 的版本,编译器版本和配置参数 [root@zq ~]# nginx -V nginx version: nginx/1.16.1 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) built with OpenSSL 1.0.2k-fips 26 Jan 2017 TLS SNI support enabled configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx