在Ubuntu10.04上使用Nginx启动Tornado,并使用域名自动启动
我已经成功地设置了nginx.conf文件,它如下所示:在Ubuntu10.04上使用Nginx启动Tornado,并使用域名自动启动,nginx,ubuntu-10.04,tornado,Nginx,Ubuntu 10.04,Tornado,我已经成功地设置了nginx.conf文件,它如下所示: root www www; worker_processes 1; worker_rlimit_nofile 8192; events { worker_connections 8000; accept_mutex off; } error_log logs/error.log; pid logs/nginx.pid; http { # Set the mime-types
root www www;
worker_processes 1;
worker_rlimit_nofile 8192;
events {
worker_connections 8000;
accept_mutex off;
}
error_log logs/error.log;
pid logs/nginx.pid;
http {
# Set the mime-types
include mime.types;
# And the fallback mime-type
default_type application/octet-stream;
# Format for our log files
log_format main '$remote_addr - $remote_user [$time_local] $status '
'"$request" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
# Click tracking!
access_log logs/access.log main;
# ~2 seconds is often enough for HTML/CSS, but connections in
# Nginx are cheap, so generally it's safe to increase it
keepalive_timeout 5;
# You usually want to serve static files with Nginx
sendfile on;
tcp_nopush on; # off may be better for Comet/long-poll stuff
tcp_nodelay off; # on may be better for Comet/long-poll stuff
# Enable Gzip
gzip on;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_min_length 1100;
gzip_buffers 4 8k;
gzip_proxied any;
gzip_types text/html text/plain text/xml application/xml application/xml+rss text/css text/javascript application/javascript application/json;
gzip_static on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";
gzip_vary on;
server {
# listen 80 default deferred; # for Linux
# listen 80 default accept_filter=httpready; # for FreeBSD
listen 80 default;
# e.g. "localhost" to accept all connections, or "www.example.com"
# to handle the requests for "example.com" (and www.example.com)
server_name _;
# Path for static files
root /srv/www/example.com/public_html/src/static;
expires 1M;
# Static assets
location ~* ^.+\.(manifest)$ {
expires -1D;
root /srv/www/example.com/public_html/src/;
access_log /srv/www/example.com/logs/static.logs;
}
location ~* ^.+\.(ico|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
# Only set expires max IFF the file is a static file and exists
if (-f $request_filename) {
expires max;
root /srv/www/example.come/public_html/src/static;
access_log /srv/www/example.com/logs/static.logs;
}
}
}
}
我对nginx文件的问题是:
1) 我想用域名托管我的应用程序:www.example.com,我要更改nginx.conf文件的哪一行
我的nginx.conf文件与app.py位于同一文件夹中
2) 当我试图通过键入/etc/init.d/nginx start来启动nginx时,收到以下错误消息:
错误消息:
Starting nginx: [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
[emerg]: still could not bind()
nginx.
我还没有对位于/etc/nginx的nginx.conf文件进行任何配置
我在这部分的问题是:
3) 如何修复错误?
4) 如何自动启动nginx
我试着通过键入来运行我的Tornado应用程序
python app.py
然后导航到,我的应用程序正常运行
但是,如果我关闭终端(终止进程),我的tornado应用程序将不再处于活动状态
我的问题是:
5) 如何自动启动tornado应用程序?
6) 如何在域名上运行tornado
谢谢大家的耐心
致意。1)更改服务器名称
2) 您可能正在运行Apache
3) 停止服务(使用类似于服务httpd Stop
)的方法),然后启动nginx
4) 请尝试以下命令:
$ chkconfig httpd off
$ chkconfig --add nginx
$ chkconfig nginx on
$ service nginx start
5) 看看如何使用运行python应用程序
6) 查看有关的信息;nginx处理对域的请求,并将这些请求传递给您的tornado后端。关于错误消息:使用Ubuntu 11.10时出现同样的问题,Opera似乎占用了端口80,所以只需修改该值。如果您还没有这样做,尝试将此交叉发布到ServerFault,您需要提供有关您工作环境的更多信息;例如,您安装了哪个版本的linux,哪个版本的nginx/python,等等。