
然后找到nginx所在的error日志文件来查看具体原因。
如果是客户端浏览器配置的问题,以360浏览器为例,出现502BadGateway可能是设置了代代理导致的。
取消浏览器代理之后,刷新一下就可以访问了。
502BadGateway是一种报错提示,这一错误并不意味着上游服务器已关闭(无响应网关/代理),而是上游服务器和网关/代理不同意的协议交换数据。
鉴于互联网协议是相当清楚的,它往往意味着一个或两个机器已不正确或不完全编程。
1 安装nginx
下载windows上的nginx最新版本,/en/download.html。
解压后即可。
运行nginx.exe后本地打开localhost,将会看到欢迎页面,这证明nginx在本地运行良好,如果没有出现欢迎页面,请检查是否有进程占用了80端口。
2 安装flup
下载对应版本的flup,这里下载flup3.x版本,适合python3.2,下载地址:https:///chxanders/flup3
解压(比如解压到D:flup)
安装(进入到python的安装路径,然后执行下面的命令
1 python setup.py install )
!注意,如果提示缺少setuptools,安装distribute-0.6.49.tar.gz,安装方法和flup安装一样,下载地址:https:///pypi/distribute/0.6.49
3 安装Mysql
在这里我使用的是5.1版本。在win系统上双击安装文件,下一步下一步完成。下载地址:/downloads/
4 安装数据库驱动
下载用于win上对应py版本的的python-mysql驱动,双击安装即可。下面的下载地址是3.2:
/wangqc/distribute-0.6.49.zip
5 配置服务器
首先需要修改nginx的配置文件nginx.conf。
找到:
1 2 3 4 location / { root htmlindex index.html index.htm} 在里面加上:
1 2 3 4 5 6 7 8 9 10 11 12 # host and port to fastcgi server fastcgi_pass 127.0.0.1:55880fastcgi_param PATH_INFO $fastcgi_script_namefastcgi_param REQUEST_METHOD $request_methodfastcgi_param QUERY_STRING $query_stringfastcgi_param SERVER_NAME $server_namefastcgi_param SERVER_PORT $server_portfastcgi_param SERVER_PROTOCOL $server_protocolfastcgi_param CONTENT_TYPE $content_typefastcgi_param CONTENT_LENGTH $content_lengthfastcgi_pass_header Authorizationfastcgi_intercept_errors off然后测试该配置文件是否正确,在cmd中切换到nginx安装目录里,输入
1 nginx.exe -t 即可开始对配置文件测试,如果提示成功,说明配置正确,
这是可以结束掉任务管理器中所有的nginx.exe进程,重新运行ngin.exe重启nginx服务。
6 运行Server.py
在cmd下切换到项目目录,输入命令
1 python Server.py runfcgi method=threaded host=127.0.0.1 port=55880 注意,
这条命令只能用来启动项目,如果出现错误并不会给出提示。下面是正确的情况.
用浏览器打开127.0.0.1:8080 测试一下,项目是不是已经跑起来了(第一次运行等待的时间稍长,请耐心等待)。
7 一些注意事项
(1)、首先应该改的地方,这个大家应该都知道:
1 DEBUG = TEMPLATE_DEBUG = False#将debug设置为False (2)、改一下ALLOWED_HOSTS,我死死的就将这个给忘了,我的`配置:
1 2 3 4 if DEBUG:#根据DEBUG来确定 ALLOWED_HOSTS = [""] else: ALLOWED_HOSTS = ["localhost","127.0.0.1"] (3)、重头戏来了,配置nginx:
这里相关的代码网上很多,但是几乎都没有说明一件事:
配置location ~ ^/static/ 的位置,一定要在location ~ ^/的前面,而且不能单纯的使用 location /static/ 或者location /static ,不然,static文件夹中的静态文件都不能加载!!!
ps:提起这个,慢慢的泪啊,就错在这里了。
嫌麻烦可以写成批处理,运行的时候双击一下就好了。
《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个Nginx界面配置工具——nginxWebUI。
nginxWebUI是一款图形化管理nginx配置的工具, 可以使用网页来快速配置nginx的各项功能, 包括http协议转发、tcp协议转发、反向代理、负载均衡、静态html服务器、ssl证书自动申请、续签、配置等,配置好后可一建生成nginx.conf文件, 同时可控制nginx使用此文件进行启动与重载,完成对nginx的图形化控制闭环。
本项目是基于solon的web系统,数据库使用h2, 因此服务器上不需要安装任何数据库。
本系统通过Let's encrypt申请证书,使用acme.sh脚本进行自动化申请和续签,开启续签的证书将在每天凌晨2点进行续签,只有超过60天的证书才会进行续签,只支持在linux下签发证书。
添加tcp/ip转发配置支持时, 一些低版本的nginx可能需要重新编译,通过添加–with-stream参数指定安装stream模块才能使用,但在ubuntu 18.04下,官方软件库中的nginx已经带有stream模块,不需要重新编译。本系统如果配置了tcp转发项的话,会自动引入ngx_stream_module.so的配置项,如果没有开启则不引入,最大限度优化ngnix配置文件。
打开 http://ip:8080 进入主页。
登录页面,第一次打开会要求初始化管理员账号。
进入系统后,可在管理员管理里面添加修改管理员账号。
在http参数配置中可以配置nginx的http项目,进行http转发,默认会给出几个常用配置,其他需要的配置可自由增删改查,可以勾选开启日志跟踪,生成日志文件。
在TCP参数配置中可以配置nginx的steam项目参数,进行tcp转发。
在反向代理中可配置nginx的反向代理即server项功能,可开启ssl功能,可以直接从网页上上传pem文件和key文件,或者使用系统内申请的证书,可以直接开启http转跳https功能,也可开启http2协议。
在负载均衡中可配置nginx的负载均衡即upstream项功能,在反向代理管理中可选择代理目标为配置好的负载均衡。
在证书管理中可添加证书,并进行签发和续签,开启定时续签后,系统会自动续签即将过期的证书。
备份文件管理,这里可以看到nginx.cnf的备份 历史 版本,nginx出现错误时可以选择回滚到某一个 历史 版本。
最终生成conf文件,可在此进行进一步手动修改,确认修改无误后,可覆盖本机conf文件,并进行校验和重启,可以选择生成单一nginx.conf文件还是按域名将各个配置文件分开放在conf.d下。
远程服务器管理,如果有多台nginx服务器,可以都部署上nginxWebUI,然后登录其中一台,在远程管理中添加其他服务器的ip和用户名密码,就可以在一台机器上管理所有的nginx服务器了。
提供一键同步功能,可以将某一台服务器的数据配置和证书文件同步到其他服务器中。
本系统提供http接口调用,只要开 http://xxx.xxx.xxx.xxx:8080/doc.html 即可查看smat-doc接口页面。
接口调用需要在header中添加token,其中token的获取需要在管理员管理中,打开用户的接口调用权限,然后通过用户名密码调用获取token接口,才能得到token,然后在knife4j的文档管理中设置全局token。
jar安装说明:
以Ubuntu *** 作系统为例:
1 安装java运行环境和nginx
Ubuntu:
Centos:
Windows:
2 下载最新版发行包jar
有新版本只需要修改路径中的版本即可。
3 启动程序
docker安装说明
本项目制作了docker镜像,同时包含nginx和nginxWebUI在内,一体化管理与运行nginx。
1 安装docker容器环境
ubuntu:
centos:
2 下载镜像
3 启动容器
—END—
开源协议:MulanPSL-1.0
开源地址:https://github.com/cym1102/nginxWebUI
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)