【发布时间】:2018-12-20 00:42:11
【问题描述】:
说实话,在服务器和维护方面我是个菜鸟。
我完全按照以下指南创建了我的第一个“Hello There”页面,到目前为止已经成功。
但是在尝试通过在我的应用程序中插入更多代码并保存脚本来更新我的主页后,我的浏览器中的服务器输出仍然保持不变的旧“你好”。
我在函数式编程(数学)和数据库处理方面做得更好,但由于我必须为我的团队同事提供一些工具,我想到了一个快速主页。不幸的是,设置 python hp 比预期的要难。
提前谢谢你 斯蒂芬
编辑: 我真的按照上面的链接 1 到 1。这里是我的代码:
TAOWeb.py
from flask import Flask, render_template
application = Flask(__name__)
@application.route("/")
def hello():
return "<h style='color:green'> HELLO ASDF! </h1>"
if __name__ == "__main__":
application.run(host='0.0.0.0')
TAOWeb.ini
[uwsgi]
module = wsgi
master = true
processes = 5
socket = TAOWeb.sock
chmod-socket = 660
vacuum = true
die-on-term = true
wsgi.py
from TAOWeb import application
if __name__ == "__main__":
application.run()
还有/etc/systemd/system/TAOWeb.service
[Unit]
Description=uWSGI instance to serve TAOWeb
After=network.target
[Service]
User=tao
Group=nginx
WorkingDirectory=/home/tao/TAOWeb
Environment="PATH=/home/tao/TAOWeb/env/bin"
ExecStart=/home/tao/TAOWeb/env/bin/uwsgi --ini TAOWeb.ini
[Install]
WantedBy=multi-user.target
最后但并非最不重要的 nginx 配置:
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
server {
listen 80;
server_name 185.164.5.211;
location / {
include uwsgi_params;
uwsgi_pass unix:/home/tao/TAOWeb/TAOWeb.sock;
}
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
# Settings for a TLS enabled server.
#
# server {
# listen 443 ssl http2 default_server;
# listen [::]:443 ssl http2 default_server;
# server_name _;
# root /usr/share/nginx/html;
#
# ssl_certificate "/etc/pki/nginx/server.crt";
# ssl_certificate_key "/etc/pki/nginx/private/server.key";
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 10m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
#
# # Load configuration files for the default server block.
# include /etc/nginx/default.d/*.conf;
#
# location / {
# }
#
# error_page 404 /404.html;
# location = /40x.html {
# }
#
# error_page 500 502 503 504 /50x.html;
# location = /50x.html {
# }
# }
}
这是标准配置,仅包含第一个服务器部分。
这有帮助吗?
最好的 斯蒂芬
【问题讨论】:
-
没有您的代码,我们无法为您提供帮助。
-
您是否尝试在运行 uWSGI 服务器时添加
--py-autoreload=1选项,例如uwsgi --socket 0.0.0.0:8000 --protocol=http -w wsgi --py-autoreload=1 -
您是否在再次访问该页面之前重新加载了 Flask?如果是这样,也许您的浏览器正在缓存该页面。尝试使用 Ctrl-R 重新加载或打开“私人窗口”以确保没有加载页面的缓存版本。
-
您在
<h中有错字,应该是<h1。顺便说一句,您定义了两个服务器指令,都用于侦听端口 80。您应该删除第二个。
标签: python nginx centos uwsgi wsgi