使用nginx将url路由到目录
假设这是运行nginx的服务器的ip: 1.2.3.4 假设我已经购买了这个url: www.abcd.com 我编辑了www.abcd.com的DNS记录,如下所示: (使用Godaddy作为注册人) A(主机) 主机|指向| TTL @| 1.2.3.4 |现场直播 在浏览器的url栏中输入1.2.3.4将带我进入服务器的nginx欢迎页面。因为我把我的url指向了同一个地址www.abcd.com,虽然它解析为1.2.3.4,但也会将我带到同一个页面 这是我的nginx配置文件: sudo nano/opt/nginx/conf/nginx.conf=> 在我的服务器上,我具有以下结构:使用nginx将url路由到目录,nginx,Nginx,假设这是运行nginx的服务器的ip: 1.2.3.4 假设我已经购买了这个url: www.abcd.com 我编辑了www.abcd.com的DNS记录,如下所示: (使用Godaddy作为注册人) A(主机) 主机|指向| TTL @| 1.2.3.4 |现场直播 在浏览器的url栏中输入1.2.3.4将带我进入服务器的nginx欢迎页面。因为我把我的url指向了同一个地址www.abcd.com,虽然它解析为1.2.3.4,但也会将我带到同一个页面 这是我的nginx配置文件: sudo
~/public/rails/test/index.html
以下是index.html包含的内容:
sudo nano/opt/nginx/conf/nginx.conf=>
有效!从www.abcd.com路由已成功!
我期望发生的事情:
访问www.abcd.com将由名称服务器转发至1.2.3.4。当请求到达1.2.3.4时,nginx将看到它来自www.abcd,并将此文件提供给用户:
~/public/rails/test/index.html
简言之:
www.abcd.com=>有效!从www.abcd.com路由已成功
实际发生的情况:
访问www.abcd.com由名称服务器转发至1.2.3.4。然而,尽管我的配置文件不起作用,这是非常困难的。它只是向用户显示nginx的“欢迎”消息,就好像我没有碰过配置文件一样
我试过了
sudo服务nginx站
sudo服务nginx启动
及
sudo服务nginx重启
在编辑配置之后,没有发生任何不同的事情
我做错了什么?我在哪里可以找到日志来查看到底发生了什么?nginx的欢迎屏幕代表什么?我的道路错了?什么?这里是盲目的。您的服务器阻塞根指令设置为/public/rails/test(绝对路径),而您说您希望它为用户提供~/public/rails/test/index.html。字符~表示当前用户的主目录,是一个相对路径 因此:尝试在服务器块中设置绝对路径(例如/home/myuser/public/rails/test)
server\u name
带和不带www
index.html代码>
/public/rails/test
之前添加~
符号。比如:root~/public/rails/test代码>
server {
listen 80;
server_name abcd.com www.abcd.com;
index index.html; # add this line
root ~/public/rails/test; # add "~" sign '/public/rails/test'
server_name www.abcd.com;
}
<h1> It works! Routing from <i>www.abcd.com</i> has been successful! </h1>
server {
listen 80;
server_name abcd.com www.abcd.com;
index index.html; # add this line
root ~/public/rails/test; # add "~" sign '/public/rails/test'
server_name www.abcd.com;
}