V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Hopetree
V2EX  ›  Django

我用 Gunicorn+Nginx 在一个服务器上面部署了两个 Djnngo 网站,于是除了问题,求解!!!

  •  
  •   Hopetree ·
    Hopetree · 2018-03-14 16:08:17 +08:00 · 3748 次点击
    这是一个创建于 2431 天前的主题,其中的信息可能已经有所发展或是发生改变。

    说明一下情况:

    1、我学了一段时间 Django,然后写了两个基本一样的博客网站

    2、我使用 Gunicorn+Nginx 分别部署了这两个网站在阿里云的服务器上面,Nginx 这个好说,就是一个 service 文件来搞定,Gunicorn 的配置也是 service 文件,因为有两个网站,所以分别在两个 service 文件中配置了信息,我是按照下面这种来配置的:

    [Unit]
    Description=gunicorn daemon
    After=network.target
    
    [Service]
    User=sammy
    Group=www-data
    WorkingDirectory=/home/sammy/myproject
    ExecStart=/home/sammy/myproject/myprojectenv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/sammy/myproject/myproject.sock myproject.wsgi:application
    
    [Install]
    WantedBy=multi-user.target
    

    3、只需要分别运行着两个配置文件,网站就可以成功访问了,这个地方没有问题

    4、问题在于,我发现我只部署一个网站的时候,服务器内存占用是 40-60%左右,但是两个网站都运行的时候,服务器内存占用长期是 80%以上,我的服务器是阿里云的,CPU1 核,内存 2G。

    5、两个网站同时运行会经常出现 504 访问超时,或者直接 502,如果只运行一个网,就没问题,我怀疑就是内存占用的问题,但是具体为什么会这样,我不清楚啊,是不是 Gunicorn 运行两个网站很占用内存啊?

    放上网站地址和代码,估计大佬也不愿意花时间看,但是说不准呢:

    网站地址: 我的博客网站

    网站源代码:Github 源代码

    5 条回复    2019-05-18 13:13:17 +08:00
    okzpy9425
        1
    okzpy9425  
       2018-03-14 16:25:47 +08:00
    gunicorn 跑一个进程。
    Hopetree
        2
    Hopetree  
    OP
       2018-03-14 16:30:29 +08:00
    @okzpy9425 你的意思是不是我不应该创建两个 gunicorn 的配置文件?而是应该只运行一个?如果你说的是这个意思,那就是我想要的方案,因为在我创建两个配置文件来运行之前就是想着怎么来只运行一个配置文件来部署两个网站,我一直没有找到方法啊(另外,网上很多说的用 uwsgi+nginx 的部署我试过,一直没有弄好,所以暂时不想考虑用 uwsgi 了)如果你知道怎么改我的这个配置文件能够同时部署两个网站就好了
    sunmonster
        3
    sunmonster  
       2018-03-14 17:14:50 +08:00
    可以试试 waitress,gunicorn 是 pre-fork 模式,如果请求多了的话内存占用会比较多,但是你的网站应该还没那么多的流量,而且 1 核 cpu,2G 内存开一个就占用 40-60%是不是有点多了?
    Hopetree
        4
    Hopetree  
    OP
       2018-03-14 17:35:20 +08:00
    @sunmonster 对啊,就是因为这个内存占用太高了,所以我才奇怪啊,我这个服务器的配置不是阿里云的最基础版啊,2G 部署几个网站应该是没有问题的吧,我这部署两个都不行了所以我觉得是不是我部署的方式有问题,我会去看一下你说的这个的,了解一下
    beaock
        5
    beaock  
       2019-05-18 13:13:17 +08:00
    @Hopetree
    请问 django 部署内存占用高的问题解决了么?
    我也遇到了这个问题,不知道怎么配置
    希望能帮助我一下,谢谢了!!!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2728 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 103ms · UTC 12:14 · PVG 20:14 · LAX 04:14 · JFK 07:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.