0

假设这是运行 nginx 的服务器的 ip:

1.2.3.4

假设我已经购买了这个网址:

www.abcd.com

我已经编辑了www.abcd.com的 DNS 记录,如下所示:

(使用 Godaddy 作为注册商)

一个举办方)

主持人 | 指向 | TTL

@ | 1.2.3.4 | 居住!

在浏览器的 url 栏中输入1.2.3.4将带我进入服务器的 nginx 欢迎页面。因为我将我的网址指向同一个地址www.abcd.com也将我带到同一个页面,尽管它解析为1.2.3.4

这是我的 nginx 配置文件:

sudo nano /opt/nginx/conf/nginx.conf #=>

http {
    include       /usr/local/nginx/conf/mime.types;
    default_type  application/octet-stream;

    access_log  /var/log/nginx/access.log;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;

    gzip  on;

    server_names_hash_bucket_size 128;

    client_max_body_size 4M;
    client_body_buffer_size 128k;

    include /usr/local/nginx/conf/conf.d/*.conf;
    include /usr/local/nginx/conf/sites-enabled/*;

upstream appname {
  server unix:///data/apps/appname/shared/tmp/puma/appname-puma.sock;
}

server {
  listen 80;
  server_name www.abcd.com;
  root /public/rails/test;
#  keepalive_timeout 5;
}
}

在我的服务器上,我具有以下结构:

~/public/rails/test/index.html

下面是 index.html 包含的内容:

sudo nano /opt/nginx/conf/nginx.conf #=>

<h1> It works! Routing from <i>www.abcd.com</i> has been successful! </h1>

我期望发生的事情:

访问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 的欢迎屏幕是什么意思?我的路径错了吗?什么?在这里瞎飞。

4

2 回答 2

0

您的 server blocks root 指令设置为/public/rails/test(绝对路径),而您说您希望它向用户提供~/public/rails/test/index.html。字符~表示当前用户的主目录,是一个相对路径。

因此:尝试在服务器块中设置绝对路径(例如/home/myuser/public/rails/test )。

于 2013-11-09T19:16:45.303 回答
0
  1. 添加server_name有和没有www
  2. 添加这一行index index.html;
  3. 在 . 之前添加~符号/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;
}
于 2019-01-27T10:40:59.783 回答