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解析,找不到就直接返回找不到网址。