uwsgi配置文件

发布时间 2023-07-07 19:12:11作者: 雀雀飞了

uwsgi配置文件

  • 好文分享?https://zhuanlan.zhihu.com/p/366440889

xml配置

-在项目路径下新建一个luffy_api.xml
<uwsgi>    
		<socket>127.0.0.1:8888</socket>
    <chdir>/home/project/luffy_api/</chdir>       
    <module>luffy_api.wsgi</module>
    <processes>4</processes>
    <daemonize>uwsgi.log</daemonize>
</uwsgi>

-使用uwsgi启动
uwsgi -x luffy_api.xml
-查看是否正常运行
ps aux |grep uwsgi

ini配置

# 选项1, 使用unix socket与nginx通信,仅限于uwsgi和nginx在同一主机上情形
        # Nginx配置中uwsgi_pass应指向同一socket文件[速度快]
        socket=/run/uwsgi/%(project).sock
'''
在给定的配置中,socket=/run/uwsgi/%(project).sock 表示 uWSGI 服务器将使用 /run/uwsgi/ 目录下以 %(project).sock 命名的套接字进行通信。

%(project) 是一个占位符,将被实际的项目名称所替换。例如,如果项目名称是 "myapp",那么实际的套接字路径将是 /run/uwsgi/myapp.sock。
'''
    
    
# 选项2,使用TCP socket与nginx通信【性能高,更贴近于底层】
        # Nginx配置中uwsgi_pass应指向uWSGI服务器IP和端口
        # socket=0.0.0.0:8888 或则 socket=:8000
    
    
# 选项3,使用http协议与nginx通信
        # Nginx配置中proxy_pass应指向uWSGI服务器一IP和端口
        # http=0.0.0.0:8888 
    
    
location / {
               include uwsgi_params;
               uwsgi_pass 127.0.0.1:8888; 
               uwsgi_param UWSGI_SCRIPT luffy_api.wsgi; 
               uwsgi_param UWSGI_CHDIR /home/project/luffy_api/;
  # 选项3的话写这个,可以在浏览器上直接访问            
              proxy_pass http://127.0.0.1:8888;
            }

'''
当使用 `socket=0.0.0.0:8888` 配置uWSGI服务器监听所有网络接口上的8888端口时,`uwsgi_pass` 的值可以是以下几种形式:

`uwsgi_pass 公网IP:8888`:这将把请求转发到具有该公网IP的服务器上运行的uWSGI程序,通过指定的端口进行通信。这适用于将请求转发到公网上运行的uWSGI服务器的情况。

`uwsgi_pass 127.0.0.1:8888`:这会将请求转发到本地主机上(localhost)的uWSGI服务器,通过指定的IP地址和端口进行通信。这适用于将请求从Nginx代理到运行在同一台主机上的uWSGI服务器的情况。

`uwsgi_pass 0.0.0.0:8888`:这是不正确的用法,因为0.0.0.0是一个特殊的地址,用于指示uWSGI服务器监听所有网络接口的请求。在`uwsgi_pass` 中无法使用0.0.0.0作为目标地址。

总结:在 `socket=0.0.0.0:8888` 的情况下,可以使用公网IP或本地主机地址(127.0.0.1)来指定 `uwsgi_pass` 的目标IP地址,但不能使用0.0.0.0。选择使用哪种方式取决于您的实际需求和配置。
'''

127.0.0.1和0.0.0.0的区别

127.0.0.1:这是一个保留的IPv4地址,也称为本地回环地址(loopback address)。它用于在同一台计算机内部进行网络通信。当您访问127.0.0.1时,实际上是将数据包发送给本机上的网络接口,而不会通过任何网络连接。本地回环地址通常用于测试和调试本机上的网络应用程序,并提供了一种通过回环方式进行自我连接和通信的方式。
'''只能访问127.0.0.1,localhost,不能用本机ip地址访问,外部所有人都不能访问你'''

0.0.0.0:这是一个特殊的IPv4地址,也被称为通配符地址或任意地址。当服务器或网络设备将其配置为监听0.0.0.0时,表示它将接受来自所有可用网络接口或网络的传入连接。0.0.0.0用于指示设备接受来自任何网络接口的请求,并在所有接口上监听。这对于服务器应用程序来说特别有用,因为它可以在所有接口上接受来自任何来源的连接。
'''127.0.0.1,localhost和本机i地址可以访问,在同一个局域网中都可以通过ip地址访问'''

简而言之,127.0.0.1是用于本机回环通信的地址,而0.0.0.0是用于服务器监听所有网络接口上的地址


# 本地host解析
在浏览器输入www.baidu.com,先找本地host文件,找跟ip地址的对应关系,找到直接访问这个ip地址,如果找不到用你配置的dns解析,找不到就直接返回找不到网址。