我一直在尝试将Nginx设置为jetty的代理.我有一台笔记本电脑运行ubuntu服务器.现在我让jetty工作在localhost:8080,它在http://192.168.1.5:8080/my-webapp-0.1.0-standalone/上提供应用程序的主页.
我像这样配置了Nginx(I adapted it from this page):
server {
listen 80;
server_name nomilkfor.me;
rewrite ^(.+?)/?$http://nomilkfor.me$1 permanent;
}
server {
listen 80;
server_name www.nomilkfor.me;
root /usr/share/Nginx/html;
location / {
try_files $uri @my-webapp;
}
location @my-webapp {
proxy_pass http://localhost:8080;
}
}
我可以从家庭网络连接到Nginx,我看到了Nginx欢迎屏幕.
我也试过$sudo netstat -tanpl | grep Nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3264/Nginx: worker
我看到Nginx正在端口80上侦听.
但是当我尝试加载nomilkfor.me时,我得到“Chrome无法连接到nomilkfor.me”错误.
我究竟做错了什么?
编辑
我创建了一个非常简单的配置,这个也通过jetty服务于/usr/share / Nginx /中的index.html而不是应用程序:
server {
listen 80;
server_name nomilkfor.me;
# access_log /var/log/Nginx/localhost.access.log;
location / {
proxy_pass http://127.0.0.1:8080;
}
location /html {
root /usr/share/Nginx/;
}
}
编辑2
似乎Nginx正在使用另一个conf文件,而不是我想的.我在conf文件/etc/Nginx/sites-available/nomilkfor.me中添加了一个拼写错误(我删除了一个结束大括号)并运行了$Nginx -s reload并且编译时没有错误并在浏览器上显示了Nginx启动页面.某处可以有另一个conf文件吗?有没有办法找到Nginx使用的conf文件?
编辑3
根据Pazis comment我添加了root但不确定它应该在哪里或它应该是什么.我补充了一些建议.哪一个是正确的? /usr/share / Nginx / html是我拥有index.html的地方.
server {
listen 80;
server_name nomilkfor.me;
# root /home/z/jetty/jetty-dist/webapps
root /usr/share/Nginx/html;
location / {
proxy_pass http://127.0.0.1:8080;
}
#location /html {
# root /usr/share/Nginx/;
}
}
编辑4
这是我的码头配置文件.它位于/home/z/jetty/jetty-dist/jetty-distribution-9.1.0.v20131115/demo-base/webapps/my-webapp.xml
required minimal context configuration : -->