8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

无法使用 NGINX 运行女服务员 (flask) 网络服务器

Edric 2月前

44 0

我一直在尝试使用 NGINX 在 ubuntu 上运行 flask 女服务员服务器。这是我当前的 NGINX 配置:服务器 { listen 80; server_name mydomain.com www.mydomain.com; client_max_body_...

我一直在尝试使用 NGINX 在 ubuntu 上运行 flask 女服务员服务器。

这是我当前的 NGINX 配置:

server {
    listen 80;
    server_name mydomain.com www.mydomain.com;

    client_max_body_size 64M;  # Adjust the size as needed
    large_client_header_buffers 4 32k;

    location / {
        proxy_pass http://127.0.0.1:80;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}

以下是我的女服务员求职申请:

    def start(self):
        # Start the database instance
        self.db.start()
        # Set the DEBUG flag to False in production mode
        self.application.app.config["DEBUG"] = False
        # Store a reference to the application instance
        app_instance = self.application.app
        # If we are in production mode
        if self.prod:
            # Set the host to "0.0.0.0" (all network interfaces) and the port to 8080
            url = "127.0.0.1:80"
            # Print the URL that the application is running on
            print(f"Running PROD: http://{url}")
            # Start the application with Waitress, a production-ready WSGI server
            # The number of threads is set to 40
            self.register()
            waitress.serve(app_instance, listen=url, threads=10)
        else:
            # If we are in development mode
            print("Running DEV")
            # Run the application with its built-in development server
            # The host is set to "0.0.0.0" (all network interfaces), the port is 8080,
            # and debug mode is enabled
            self.register()
            self.application.run(host="127.0.0.1", port=80, debug=True,url_scheme='https', threaded=True)

我遇到的问题是,网页之前返回错误 400 标头大小问题,因此我指定了一个 large_client_header_buffers 对象,现在它似乎不断返回错误 500。

nginx 的最新日志如下:

2024/06/21 20:15:03 [alert] 2935#2935: *48088 socket() failed (24: Too many open files) while connecting to upstream, client: 127.0.0.1, server: mydomain.com, request: "GET / HTTP/1.0", upstream: "http://127.0.0.1:80/", host: "mydomain.com"

我已经将 flask 应用程序设置为在系统启动时在 crontab 上运行,并且 NGINX 也会在启动时启动。

任何帮助都将不胜感激!

帖子版权声明 1、本帖标题:无法使用 NGINX 运行女服务员 (flask) 网络服务器
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Edric在本站《ubuntu》版块原创发布, 转载请注明出处!
最新回复 (0)
  • gggg 2月前 0 只看Ta
    引用 1

    我通过终端激活了项目的虚拟环境,然后在 VSCodium 中打开了项目路径。尽管全局安装了 Python 库,但 VSCodium 仍然无法识别

    我通过终端激活了项目的虚拟环境,然后在 VSCodium 中打开了项目路径。尽管全局安装了 Python 库,但 VSCodium 仍然无法识别该模块。

    附加信息:

    • VSCodium 版本:1.91.1(发布版本:24193)
    • Python版本:3.12.3
    • 操作系统:Ubuntu 24.04

    截屏

    ModuleNotFoundError:没有名为“pandas”的模块

    1. 激活虚拟环境: source venv/bin/activate
    2. 打开 VSCodium:'codium'。
    3. 全局安装 Python 库: sudo apt install python3-pandas
    4. 另外,尝试注销并重新打开。但问题仍未解决。

    用户:$ cd code_projects/gps_data_2107/

    用户:〜/ code_projects / gps_data_2107 $源venv / bin / activate

    (venv) 用户:~/code_projects/gps_data_2107$ codium。

    (venv)用户:~/code_projects/gps_data_2107$ sudo apt install python3-pandas

    [sudo] 用户密码:

    正在读取软件包列表...完成

    构建依赖关系树...完成

    正在读取状态信息...完成

    python3-pandas 已经是最新版本 (2.1.4+dfsg-7)。已升级、新安装、待删除且 1 个未升级。

    (venv)用户:~/code_projects/gps_data_2107$

  • 我在 task_struct 中添加了一个新字段,还添加了 2 个非常基本的系统调用来设置和获取该字段。现在,当我尝试启动虚拟机时(我在 VirtualBox 上使用 Linux 4.15.18 Ubuntu),我得到以下信息

    我在 task_struct 中添加了一个新字段,还添加了 2 个非常基本的系统调用来设置和获取该字段。现在,当我尝试启动虚拟机时(我在 VirtualBox 上使用 Linux 4.15.18 Ubuntu),我收到以下消息:madam:在配置文件中未找到数组或自动(重复多次)放弃等待根文件系统设备。警报!uuid=xxxx 不存在,进入 shell!我真的不明白我做了什么导致这种情况。

    这些是我所做的所有更改:在include/linux/sched.h中:

    struct task_struct{
    volatile long state;
    int new_field;  //my addition
    ...
    }
    

    在include/linux/init_task.h中:

    #define INIT_TASK(tsk) \
    {
    INIT_TASK_TI(tsk)  \
    .state = 0, \
    .new_field = 0, \  //my addition
    ...
    }
    

    我还将我的系统调用添加到了 include/linux/syscalls.h 和 arch/x86/entry/syscalls/syscall_64.tbl,但我不认为这是导致问题的原因/

  • 您说得对,这两个问题非常相似,因为都涉及通过终端启动虚拟环境。但是,主要区别在于您提到的问题是关于识别虚拟环境本身,而我的问题是关于在确保虚拟环境内核正在使用后识别模块。因此,您的问题没有解决我的问题。

  • 我对此很陌生,所以我不太清楚我做了什么。我运行了这些命令:\' make -j $(nproc)\' 然后 \' sudo cp -f arch/x86/boot/bzImage / boot/vmlinuz-4.15.18-custom\' 最后 \'sudo reboot\'

返回
作者最近主题: