gpt4 book ai didi

python - uWSGI和Nginx中MySQL连接出现502错误

转载 作者:行者123 更新时间:2023-11-29 23:02:32 25 4
gpt4 key购买 nike

我是 Nginx 和 uWSGI 的新手。

我已经更新了 /var/www/app/ 目录中的 index.py。现在,当我尝试运行 http://127.0.0.1/cp.myhost.com 时,出现 502 Bad Gateway 错误

这是nginx的配置文件:

`

server {

# Change this if you want to serve your application on another port
listen 80;

# Replace this with your domain name
server_name cp.myhost.com;

# You can use virtual directory like '/apps/' here, but remember that
# this should match 'urls' defined in your web.py application file
location / {
include uwsgi_params;

# This should match the 'socket' entry in your uwsgi configuration
#uwsgi_pass unix:///tmp/uwsgi_vhosts.sock;
uwsgi_pass 127.0.0.1:8080;

# This is the absolute path to the folder containing your application
uwsgi_param UWSGI_CHDIR /var/www/apps;

# This is actually not necessary for our simple application,
# but you may need this in future
uwsgi_param UWSGI_PYHOME /var/www/apps;

# This is the name of your application file, minus the '.py' extension
uwsgi_param UWSGI_SCRIPT index;
}
}

`

这是我的代码 /var/www/app/index.py

import web
import MySQLdb
import datetime

app = web.application(urls, globals())

urls = (
'/', 'index'
)

class index:
def GET(self):
db = MySQLdb.connect(host="localhost",
user="root",
passwd="",
db="cw_api")

cur = db.cursor()

try:
cur.execute("SELECT MAX(sync_id) FROM settings_sync;")
db.commit()
print cur.fetchone()[0]
except:
db.rollback()

sql = "SELECT * FROM Table1 LEFT JOIN Table2 ON.... "
srtr = "<style>table, th, td {border: 1px solid black;}</style><table><tr><th>Name</th><th>Contact</th></tr>"
try:
# Execute the SQL command
cur.execute(sql)
# Fetch all the rows in a list of lists.
results = cur.fetchall()
for row in results:
srtr = srtr + "<tr><td>" + row[0] + "</td>"
srtr = srtr + "<td>" + row[1] + "</td>"
srtr = srtr + "</td></tr>"

except:
print "Error: unable to fecth data"
db.close()

srtr = srtr + "</table>"
return srtr

if __name__ == "__main__": app.run()

application = app.wsgifunc()

我是新手,所以请帮助我......我认为问题出在我的代码中,但它在我的本地计算机上运行顺利。我无法追踪代码中的错误在哪里......

我认为错误出在这段代码上:

 db = MySQLdb.connect(host="localhost", 
user="root",
passwd="",
db="cw_api")

cur = db.cursor()

我尝试将 host 值更改为 127.0.0.1 但没有任何反应。

我在/var/log/uwsgi/app/vhost.log

中有这个
libgcc_s.so.1 must be installed for pthread_cancel to work
- DAMN ! worker 1 (pid: 18262) died, killed by signal 6 :( trying respawn ...
- Respawned uWSGI worker 1 (new pid: 19584)
- WSGI app 0 (mountpoint='cp.myhost.com|') ready in 0 seconds on interprete$
cp.myhost.com {address space usage: 94265344 bytes/89MB} {rss usage: 1175961$
libgcc_s.so.1 must be installed for pthread_cancel to work
- DAMN ! worker 1 (pid: 19584) died, killed by signal 6 :( trying respawn ...
- Respawned uWSGI worker 1 (new pid: 19597)
libgcc_s.so.1 must be installed for pthread_cancel to work
- DAMN ! worker 1 (pid: 19597) died, killed by signal 6 :( trying respawn ...
- Respawned uWSGI worker 1 (new pid: 19633)
libgcc_s.so.1 must be installed for pthread_cancel to work
- DAMN ! worker 1 (pid: 19633) died, killed by signal 6 :( trying respawn ...
- Respawned uWSGI worker 1 (new pid: 19638)
libgcc_s.so.1 must be installed for pthread_cancel to work
- DAMN ! worker 1 (pid: 19638) died, killed by signal 6 :( trying respawn ...
- Respawned uWSGI worker 1 (new pid: 19677)

在我的 nginx/error.log 上我得到了这个:

.. 20092#0: *5 从上游读取响应 header 时上游过早关闭连接,...

最佳答案

我最近也遇到了这个错误,并在这里发布了答案 https://stackoverflow.com/a/31621481/828841

[uwsgi]
...
limit-as = 512

关于python - uWSGI和Nginx中MySQL连接出现502错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28424828/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com