nginx反向代理

项目部署

眉间皱痕 提交于 2019-12-01 13:02:04
Linux项目部署之发布路飞学城 python3 uwsgi wsgi(web服务网关接口,就是一个实现了python web应用的协议) virtualenvwrapper 路飞的代码 vue的代码 nginx (一个是nginx对静态文件处理的优秀性能,一个是nginx的反向代理功能,以及nginx的默认80端口,访问nginx的80端口,就能反向代理到应用的8000端口) mysql redis 购物车订单信息 supervisor 进程管理工具 1.部署环境准备,准备python3和虚拟环境解释器,virtualenvwrapper pip3 install -i https://pypi.douban.com/simple virtualenvwrapper 2.修改python3的环境变量,写入到/etc/profile中 PATH=/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/ruby/bin/:/root/bin 3.修改~/.bashrc 写入变量 4.新建一个虚拟环境 s15vuedrf mkvirtualenv s15vuedrf 5.准备前后端代码 wget https://files.cnblogs.com/files/pyyu/luffy_boy.zip

python web 部署

六眼飞鱼酱① 提交于 2019-12-01 13:00:22
python web 部署 web开发中,各种语言争奇斗艳,web的部署方面,却没有太多的方式。简单而已,大概都是 nginx 做前端代理,中间 webservice 调用程序脚本。大概方式: nginx + webservice + script nginx 不用多说,一个高性能的web服务器。通常用来在前端做反向代理服务器。所谓正向与反向(reverse),只是英文说法翻译。代理服务,简而言之,一个请求经过代理服务器从局域网发出,然后到达互联网上服务器,这个过程的代理为正向代理。如果一个请求,从互联网过来,先进入代理服务器,再由代理服务器转发给局域网的目标服务器,这个时候,代理服务器为反向代理(相对正向而言)。 正向代理:{ 客户端 —》 代理服务器 } —》 服务器 反向代理:客户端 —》 { 代理服务器 —》 服务器 } {} 表示局域网 nginx既可以做正向,也可以做反向。 webservice 的方式同样也有很多方式。常见的有 FastCGI , WSGI 等。我们采用 gunicorn 为 wsgi容器。python为服务器script,采用 flask 框架。同时采用supervisor管理服务器进程。也就是最终的部署方式为: nginx + gunicorn + flask ++ supervisor 创建一个项目 Vim 1 mkdir myproject

使用Nginx反向代理Flask站点

痞子三分冷 提交于 2019-12-01 12:59:54
Nginx实际上只能处理静态资源请求,那么对于动态请求怎么做呢。这就需要用到Nginx的 upstream 模块对这些请求进行转发,即反向代理。这些接收转发的服务器可以是Apache、Tomcat、IIS等。示意图如下: 现在对一个Python Flask的站点进行反向代理设置,站点的源码存放在 Github 。在本机Min17中目录如下: / +- srv/ +- www/ +- GoLink/ <-- Web App根目录 +- www/ | +- static/ <-- 存放静态资源文件 | +- index.py <-- Python源码 部署方式 由于flask是单进程处理请求的,不像Tornado的异步,同时访问的人数稍微过多,就会出现阻塞的情况,导致Nginx出现502的问题。而Gunicorn可以指定多个工作进程,这样就可以实现并发功能。 Nginx可以作为服务进程直接启动,但Gunicorn还不行。可以使用Supervisor管理Gunicorn进行自启动。 总结一下我们需要用到的服务有: Nginx:高性能Web服务器+负责反向代理; gunicorn:高性能WSGI服务器; gevent:把Python同步代码变成异步协程的库; Supervisor:监控服务进程的工具; 在Linux服务器上可以直接安装上述服务: $ sudo apt-get install

Nginx

孤街浪徒 提交于 2019-12-01 12:54:51
Nginx 与服务器集群 一. 集群 1. 什么是集群 集 合在一起 放在一起 群 一堆 很多 服务器架构集群:多台服务器组成的响应大并发,高数据量的架构体系。 分布式服务器架构 特点: (1)成本高 (2)能够降低单台服务器的压力,使用流量平均分配到多台服务器 (3)使网站服务架构更加安全稳定 服务器概念 : 提供某种或多种服务(功能)的机器(计算机) (1)硬件 性能比较好的电脑主机 (2)软件 实现各种服务支持的协议的软件 1.1 web 服务软件 提供 http https协议的服务器。网站网页访问的功能 Apache 老牌的服务器软件,功能多并且稳定 ,支持多种配置, lamp Nginx 安装简单小巧,并发量高, web服务器,代理服务器,邮箱服务器 lls 微软公司, APS脚本使用,可以通过fast-cgi(网络接口服务)的方式使用PHP Lighttpd 德国开发的软件,小巧,提供 web服务支持 1.2 数据库 关系型数据库( RDBMS): Mysql mysqlab => sun(java) => Oracle Mariadb mysql的一个分支 Postgresql 加州伯克利大学,学院派 Oracle 大型商业数据库 Sqlserver 微软数据库 DB2 IBM Sqllite3 手机端( iOS和安卓)使用 非关系型数据库 Memcached

服务端高并发分布式架构演进之路

孤人 提交于 2019-12-01 11:41:13
https://segmentfault.com/a/1190000018626163#articleHeader18 1. 概述 本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。 2. 基本概念 在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍: 分布式 系统中的多个模块在不同服务器上部署,即可称为分布式系统,如Tomcat和数据库分别部署在不同的服务器上,或两个相同功能的Tomcat分别部署在不同服务器上 高可用 系统中部分节点失效时,其他节点能够接替它继续提供服务,则可认为系统具有高可用性 集群 一个特定领域的软件部署在多台服务器上并作为一个整体提供一类服务,这个整体称为集群。如Zookeeper中的Master和Slave分别部署在多台服务器上,共同组成一个整体提供集中配置服务。在常见的集群中,客户端往往能够连接任意一个节点获得服务,并且当集群中一个节点掉线时,其他节点往往能够自动的接替它继续提供服务,这时候说明集群具有高可用性 负载均衡 请求发送到系统时,通过某些方式把请求均匀分发到多个节点上,使系统中每个节点能够均匀的处理请求负载,则可认为系统是负载均衡的 正向代理和反向代理

[问题记录]按url context path设置nginx反向代理禅道和Jenkins

↘锁芯ラ 提交于 2019-12-01 09:23:15
问题 : 在公司同一台服务器上分别装了禅道的开源版(linux一键安装)和Jenkins(docker),觉得带端口号的链接给上头leader等使用有点难看……就想改成用二级url区别的方法,即目标是: 由 dev .server .com : 8001 改成用 dev .server .com /zentao 访问禅道 由 dev .server .com : 8002 改成用 dev .server .com /jenkins 访问Jenkins 然后简单搜索了下、写出了下面的( 有错误的 )nginx配置: server { listen 80 ; server_name dev. server .com; location /zentao { proxy_pass http: //localhost:8001; } location /jenkins { proxy_pass http: //localhost:8002; } } 按上面/zentao、/jenkins这样的新路径,禅道一下子就打开了用户登录界面,但是Jenkins却是404。 原因 : 原本以为Jenkins不能用很奇怪,最后发现禅道能用只是碰巧…… 为什么打不开Jenkins? 首先发现如果使用端口号访问的方式、浏览器会自动跳转至Jenkins登录界面、url发生了变化,于是联想到比较下不同的url访问

用nginx反向代理Jenkins遇到的testForReverseProxySetup问题

瘦欲@ 提交于 2019-12-01 09:19:47
又一次开始了Jenkins征程,其实以前我就遇到了这个问题,如图 你说你报这个错误鬼知道是为什么,当然了,我们也不能太苛求,Jenkins怎么可能知道具体是什么问题呢?算啦,我们自己去看Jenkins的日志吧,我发现 WARNING: http://jenkins.tangxuyang.cn/manage vs. http: 然后又结合chrome的F12,如下 就是这个请求没有正确的返回让Jenkins认为反向代理有问题,我也不知道这个会不会有什么影响,但是作为一个处女座,总归是看不得这种错误的。其实此时我已经不知道怎么搞了。因为我完全不知道Jenkins的原理。我就把不能正常返回的url贴到chrome中访问一下,得到如下的错误: 跟上面Jenkins日志是一致的。不过此时我还是不了解是啥意思。知道我尝试改了url中的后面的一点东西,我发现报的错有变化,vs.后面的内容随着变了。至此我猜测,Jenkins是用传过去的值跟 http://jenkins.tangxuyang.cn/manage 比较,好吧其实看到vs.也能想到是比较,算我笨吧。以下是url http: //jenkins .tangxuyang .cn /administrativeMonitor/hudson .diagnosis .ReverseProxySetupMonitor

solo blog install docuemnt

|▌冷眼眸甩不掉的悲伤 提交于 2019-12-01 08:55:43
安装docker yum install curl -y && curl -fSsL get.docker.com |CHANNEL=stable sh systemctl start docker systemctl enable docker docker version docker安装mysql # MYSQL_ROOT_PASSWORD=你的数据库密码 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql:5.6 # docker安装的mysql默认允许远程连接,可以使用Navicat等软件连接数据库 # 进入容器 mysql docker exec -it mysql bash # 进入数据库 p后面跟你的密码 mysql -uroot -ppassword # 创建数据库(数据库名:solo;字符集utf8mb4;排序规则utf8mb4_general_ci) create database solo DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; #创建成功后退出数据库 ,退出容器 安装solo docker run --detach --name solo --network=host \ -

Nginx多Server反向代理配置

主宰稳场 提交于 2019-12-01 08:36:07
Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了。 下面我就来说说server_name的使用吧: server_name的匹配顺序 Nginx中的server_name指令主要用于配置基于名称虚拟主机,server_name指令在接到请求后的匹配顺序分别为: 1、准确的server_name匹配,例如: server { listen 80; server_name ssdr.info www.ssdr.info; ... } 2、以*通配符开始的字符串: server { listen 80; server_name *.ssdr.info; ... } 3、以*通配符结束的字符串: server { listen 80; server_name www.*; ... } 4、匹配正则表达式: server { listen 80; server_name ~^(?.+)\.howtocn\.org$; ... } Nginx将按照1,2,3,4的顺序对server name进行匹配,只有有一项匹配以后就会停止搜索,所以我们在使用这个指令的时候一定要分清楚它的匹配顺序(类似于location指令)。 server_name指令一项很实用的功能便是可以在使用正则表达式的捕获功能

Linux

别等时光非礼了梦想. 提交于 2019-12-01 07:55:05
一. Linux安装常用软件 CentOS7 下载地址 : https://mirrors.tuna.tsinghua.edu.cn/centos/7.7.1908/isos/x86_64/CentOS-7-x86_64-DVD-1908.iso 安装 JDK1.8 首先上传 jdk-8u221-linux-x64.tar mkdir /usr/local/jdk1.8/ ,并将上传额jdk复制到此处,并解压 配置环境变量 'vi /ect/profile ',在末尾添加如下内容 set java environment JAVA_HOME=/usr/local/jdk1.8/jdk1.8.0_221 CLASSPATH=.:$JAVA_HOME/lib.tools.jar PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH source /etc/profile ,使更改的配置立即生效 安装Tomcat 上传,解压 即可。 若浏览器中无法访问。原因:Centos7的防火墙拦截了tomcat访问的8080端口 firewall-cmd --permanent --zone=public --add-port=8080/tcp firewall-cmd --reload firewall-cmd --zone