关于服务器日志问题,gunicorn起得,怎么才能看到详细一点的日志

关于服务器日志问题,gunicorn起得,怎么才能看到详细一点的日志,第1张

不知道你要看的是服务器 *** 作日志还是网站日志;
服务器 *** 作日志,系统貌似看不到很详细,除非自己配置个记事程序,管理工具里可以看到大致的服务器系统及程序事件信息;
网站日志,可以到C:\WINDOWS\system32\LogFiles目录下,查看详细日志,或者你自己设置的网站日志存储目录下查看。

apt-get
服务器拿到手后第一件事就是更新apt-get,要换源什么的自己搜一大堆。之前因为系统不小心选成了Ubuntu 1004了,遇到一大堆问题,后来换到1204一切顺利。
apt-get update
pip
pip还是建议更换源,速度是飞一般的感觉。具体方法可以看看我之前介绍的那篇文章《Pythoner的福利,豆瓣的PyPI源》
sudo apt-get install python-pip
Django
Django不用说肯定是用pip装,我一般是用的最新版,这样就可以了。
sudo pip install django
Nginx
首先给默认的Nginx配置备个份,这是好习惯。目录位于/etc/nginx/sites-available/default
cp /etc/nginx/sites-available/default defaultbak
然后Vim编辑
vim /etc/nginx/sites-available/default
server {
listen 80;
server_name >Flask ,Django 自带的web server的目的就是用于开发,而不是生产环境。他们俩本身是web framework而不是web
server 他们自带的server应该都只能开单进程。而像gunicorn是
prefork模式,从nginx每发过来一个请求,它就fork一个进程去处理这个请求,并buffer相关的数据。wsgi服务器都是专门为生产环境
开发的,能配置更多从而处理更复杂的请求状况,从性能和稳定性来说,都更好。

当我们执行下面的hellopy时,使用的flask自带的服务器,完成了web服务的启动。在生产环境中,flask自带的服务器,无法满足性能要求,我们这里采用Gunicorn做wsgi容器,来部署flask程序。Gunicorn(绿色独角兽)是一个Python WSGI的>==本教程仅适用于Linux和Mac==

部署是建立在你已经基本完成开发的基础上,所以Python的安装什么的就不再进行说明了,上述依赖的安装也不再赘述,请根据自己的平台查找安装教程,这里主要对配置进行说明。

Gunicorn的配置相比于uWSGI简单了很多,基本上一行命令就可以把项目跑起来。性能上据说uWSGI更加强大一些,不过在差距上并不明显, 至少在我的日常使用中没有因为Gunicorn出现过性能瓶颈,真的到了那一天再进行更换也不是什么特别麻烦的事情。

在项目跟目录创建一个gunicornpy文件,当然名字和文件位置你可以进行更改。

这里我们采用gevent模式来支持并发,可以根据你自己的实际情况来进行模式选择。我最近的项目因为阻塞主要是对SAP数据查询导致的,所使用的库并不是纯Python编写,也没有说明支持协程,所以我我采用了gthead模式。

首先我们调用了gevent的Monkey Patch黑科技,该方法hook了标准卡里面的大部分阻塞 *** 作,使得在我们进行长时间IO *** 作时可以切换到别的协程,从而实现异步并发。然后我们创建log目录,设置log路径,设置端口什么的。

接着我们设置worker的数量,也就是进程数,通常设置为服务器核心数2倍+1,这也是官方文档事例中的配置。最后再设置一下worker的模式,这里填写的就是前文所说的gevent。

更多项目配置请参照官方文档
>

使用进程管理器确保你以d性方式运行运行多个进程,你可以执行服务器升级而不会丢弃客户端的请求。

一个进程管理器将会处理套接字设置,启动多个服务器进程,监控进程活动,监听进程重启、关闭等信号。

Uvicorn 提供一个轻量级的方法来运行多个工作进程,比如 --workers 4 ,但并没有提供进行的监控。

Gunicorn 是成熟的,功能齐全的服务器,Uvicorn 内部包含有 Guicorn 的 workers 类,允许你运行 ASGI 应用程序,这些 workers 继承了所有 Uvicorn 高性能的特点,并且给你使用 Guicorn 来进行进程管理。

这样的话,你可能动态增加或减少进程数量,平滑地重启工作进程,或者升级服务器而无需停机。

在生产环境中,Guicorn 大概是最简单的方式来管理 Uvicorn 了,生产环境部署我们推荐使用 Guicorn 和 Uvicorn 的 worker 类:

执行上述命令将开户 4 个工作进程,其中 UvicornWorker 的实现使用 uvloop 和>

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13423011.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-02
下一篇 2023-08-02

发表评论

登录后才能评论

评论列表(0条)