在 EC2 上的 Nginx Unicorn Rails 应用程序中更改浏览器 url
Changing browser url in Nginx Unicorn Rails app on EC2
现在我在 Amacon EC2 上成功配置了一个 rails 应用程序。我成功配置了 nginx 和 unicorn,现在我可以看到这个 url 作为myipaddress/login
但想通过域名访问。
这是问题,因为我已经更改了主机文件并在 ec2 实例中的 ssh 之后添加了以下内容:-
127.0.0.1 www.mysite.com
#Virtual Hosts
myipaddress www.mysite.com
myipaddress mysite.com
我的 /home/ubuntu/shareit/config/nginx.conf
文件也如下所示:-
upstream unicorn {
server unix:/home/ubuntu/shareit/tmp/sockets/unicorn.shareit.sock fail_timeout=0;
}
server {
listen 80;
#listen [::]:80 ipv6only=on default_server;
server_name mysite.com www.mysite.com;
root /home/ubuntu/shareit/public;
access_log /home/ubuntu/shareit/log/access.log;
error_log /home/ubuntu/shareit/log/error.log;
location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
}
try_files $uri/index.html $uri @unicorn;
location @unicorn {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicorn;
}
error_page 500 502 503 504 /500.html;
client_max_body_size 4G;
keepalive_timeout 10;
}
但每当我尝试点击 url www.mysite.com
而不是 myipaddress/login
(这是有效的)时,我都会收到错误消息,因为 此网页不可用.
所以我错过了什么吗?我不想使用 ipaddress.i 来访问我的应用程序,甚至尝试使用 routes.rb
中的应用程序名称,但它仍然无法正常工作。
我什至使用 sudo /etc/init.d/nscd restart
刷新了 UBUNTU dns 并重新启动了 nginx 和 unicorn,但它不起作用?
任何帮助将不胜感激?
你的域名注册你的服务器了吗'A'记录ip?
您需要为您的域名设置 A 记录以指向您服务器的 IP 地址。
您可以按照此 link 使用服务器 ip (https://aws.amazon.com/blogs/aws/aws-management-console-now-supports-amazon-route-53/) 注册您的域提供了在注册商处注册域并在 Route 53 中进行设置的整个过程,包括更多插图。
的输出是什么
ping myipaddress www.mysite.com
如果能正确解析,设置一个Route53,一切配置似乎没问题,你只需要一个"A"记录
现在我在 Amacon EC2 上成功配置了一个 rails 应用程序。我成功配置了 nginx 和 unicorn,现在我可以看到这个 url 作为myipaddress/login
但想通过域名访问。
这是问题,因为我已经更改了主机文件并在 ec2 实例中的 ssh 之后添加了以下内容:-
127.0.0.1 www.mysite.com
#Virtual Hosts
myipaddress www.mysite.com
myipaddress mysite.com
我的 /home/ubuntu/shareit/config/nginx.conf
文件也如下所示:-
upstream unicorn {
server unix:/home/ubuntu/shareit/tmp/sockets/unicorn.shareit.sock fail_timeout=0;
}
server {
listen 80;
#listen [::]:80 ipv6only=on default_server;
server_name mysite.com www.mysite.com;
root /home/ubuntu/shareit/public;
access_log /home/ubuntu/shareit/log/access.log;
error_log /home/ubuntu/shareit/log/error.log;
location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
}
try_files $uri/index.html $uri @unicorn;
location @unicorn {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicorn;
}
error_page 500 502 503 504 /500.html;
client_max_body_size 4G;
keepalive_timeout 10;
}
但每当我尝试点击 url www.mysite.com
而不是 myipaddress/login
(这是有效的)时,我都会收到错误消息,因为 此网页不可用.
所以我错过了什么吗?我不想使用 ipaddress.i 来访问我的应用程序,甚至尝试使用 routes.rb
中的应用程序名称,但它仍然无法正常工作。
我什至使用 sudo /etc/init.d/nscd restart
刷新了 UBUNTU dns 并重新启动了 nginx 和 unicorn,但它不起作用?
任何帮助将不胜感激?
你的域名注册你的服务器了吗'A'记录ip?
您需要为您的域名设置 A 记录以指向您服务器的 IP 地址。
您可以按照此 link 使用服务器 ip (https://aws.amazon.com/blogs/aws/aws-management-console-now-supports-amazon-route-53/) 注册您的域提供了在注册商处注册域并在 Route 53 中进行设置的整个过程,包括更多插图。
ping myipaddress www.mysite.com
如果能正确解析,设置一个Route53,一切配置似乎没问题,你只需要一个"A"记录