我是Nginx和uWSGI的新成員。uWSGI和Nginx中的MyQSL連接502錯誤
我已更新我的index.py
在/var/www/app/
目錄。而現在,當我嘗試運行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;
}
}
`
,這是我的代碼at /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
但沒有任何反應。
我對我的nginx/error.log
有這樣的/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)
我得到這個:
.. 20092#0: *5 upstream prematurely closed connection while reading response header from upstream, ...
似乎你的Python代碼是兄弟肯。 – 2015-02-10 07:07:18
我現在就看到它。這個問題是在我的代碼,但它運行在我的本地計算機..我想知道錯誤在哪裏 – gadss 2015-02-10 21:22:16
你看到Web服務器日誌中的任何錯誤? – bmhkim 2015-02-10 21:45:29