V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
freaks
V2EX  ›  NGINX

nginx 缺少配置文件

  •  
  •   freaks · 2016-07-29 08:18:12 +08:00 · 6258 次点击
    这是一个创建于 3057 天前的主题,其中的信息可能已经有所发展或是发生改变。

    ubuntu server 14.04 安装了 nginx 后, 本想按照网上的教程配置 vhost , 奈何没有生成 sites-available 和 sites-enable 这两个文件夹, 看别人的教程好像都有这两个文件夹, 也卸了重装没卵用, 希望大神们能指点一二,小弟不胜感激了,谢谢!

    26 条回复    2016-07-29 18:30:46 +08:00
    wzxjohn
        1
    wzxjohn  
       2016-07-29 08:19:55 +08:00 via iPhone
    1.11.3 ?你这是编译安装的吧。
    freaks
        2
    freaks  
    OP
       2016-07-29 08:23:14 +08:00
    @wzxjohn 不是,就是 apt-get install nginx
    wolegequ
        3
    wolegequ  
       2016-07-29 08:23:36 +08:00 via Android
    有 nginx.conf 就可以了吧
    mml
        4
    mml  
       2016-07-29 08:24:31 +08:00
    你想要就自己创建就好,然后在 nginx.conf 里面加句 include 或者自己看下 nginx.conf 已经 include 了哪些目录
    freaks
        5
    freaks  
    OP
       2016-07-29 08:27:57 +08:00
    @wolegequ 主配置文件修改不太好吧,大多数教程都是从 site-[available|enable]里的 default 开始的
    wolegequ
        6
    wolegequ  
       2016-07-29 08:29:57 +08:00 via Android
    @freaks 大型应用没搞过,一直是直接写 nginx.conf
    freaks
        7
    freaks  
    OP
       2016-07-29 08:33:00 +08:00
    @mml

    就包含了这一个目录,自己建的话要改好多,好像还要建软连接,试过了一次,没搞好
    xqin
        8
    xqin  
       2016-07-29 08:37:26 +08:00
    把你的配置放在 /etc/nginx/conf.d/ 目录下, 文件名为 xxx.conf 即可.

    并不是所有的都按 site-(available|enable) 这种套路来的.
    mml
        9
    mml  
       2016-07-29 08:45:05 +08:00
    @freaks 哪里需要改很多,不就复制一行改个路径的事情,

    你就直接写 xxx.conf 扔 conf.d 下面就好。
    freaks
        10
    freaks  
    OP
       2016-07-29 08:48:35 +08:00
    @xqin @mml 我试一下咯
    yalay
        11
    yalay  
       2016-07-29 09:06:20 +08:00
    觉得你这个是不是自己改源了,官方源安装应该有 site-[available|enable]的啊?
    yalay
        12
    yalay  
       2016-07-29 09:07:12 +08:00
    看你现在的配置,把 xxx.conf 扔 conf.d 里就行
    wzxjohn
        13
    wzxjohn  
       2016-07-29 09:09:49 +08:00
    14.04 Ubuntu 官方源 Nginx 绝对不是 1.11.3 。。。你改了 Nginx 的官方源吧。。。
    freaks
        14
    freaks  
    OP
       2016-07-29 09:18:13 +08:00
    @wzxjohn @yalay 的确改了源,不会是这个原因吧
    nisekoi
        15
    nisekoi  
       2016-07-29 09:21:03 +08:00 via iPhone
    你改了源,下到的 nginx 就不同了
    freaks
        17
    freaks  
    OP
       2016-07-29 09:25:15 +08:00
    @nisekoi 这是我用的源,要把这两个字段删除,重新添加源吗?

    ```bash
    $ echo "deb http://nginx.org/packages/mainline/ubuntu/ trusty nginx" >> /etc/apt/sources.list
    $ echo "deb-src http://nginx.org/packages/mainline/ubuntu/ trusty nginx" >> /etc/apt/sources.list
    ```
    stormyyd
        18
    stormyyd  
       2016-07-29 09:25:34 +08:00 via Android
    你在 nginx.conf 里加上一句 include /etc/nginx/site-enable/*; 然后自己建好那两个文件夹就行了
    freaks
        19
    freaks  
    OP
       2016-07-29 09:36:44 +08:00
    @wingoo 感谢~ do 的文档确实不错,我现在是 nginx 和 PHP 还没结合起来, nginx 是搭建好了,但是访问 domain/info.php 不是 404 就是变成下载 info.php 这个文件
    这是我的配置文件: /etc/nginx/conf.d/default.conf

    ```
    server {
    listen 80;
    root /var/www/html;
    server_name localhost;

    #charset koi8-r;
    #access_log /var/log/nginx/log/host.access.log main;

    location / {
    index index.php index.html index.htm;
    try_files $uri $uri/ =404;
    }
    #error_page 404 /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root /var/www/html/;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    # proxy_pass http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
    root html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
    include fastcgi_params;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
    deny all;
    }
    }
    ```
    lslqtz
        20
    lslqtz  
       2016-07-29 10:29:37 +08:00 via iPhone
    我都是直接在配置文件改 conf.d 都删掉的
    freaks
        21
    freaks  
    OP
       2016-07-29 10:33:16 +08:00
    @lslqtz 什么删掉? default.conf 删掉? 自己建一个配置文件
    wzxjohn
        22
    wzxjohn  
       2016-07-29 11:53:33 +08:00 via iPhone
    @freaks 网上你搜到的文档基本上都是按照官方源来讲解的,你换了源目录结构就不同了,当然也就不对了呀。。。
    yalay
        23
    yalay  
       2016-07-29 12:07:15 +08:00
    试试,我的配置
    server {
    .....
    location ~ .php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+.php)(/.+)$;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_read_timeout 300;
    include fastcgi_params;
    }
    }
    freaks
        24
    freaks  
    OP
       2016-07-29 12:21:30 +08:00
    @wzxjohn 我又改为了官方源,但是也没有这两个文件夹
    @yalay 不行的,我们 php 版本不一致,现在掉坑里了
    kiwi95
        25
    kiwi95  
       2016-07-29 12:31:38 +08:00
    哈哈,这个题目感觉楼主好蠢萌。。。不同包管理里的 nginx 好像配置文件组织方式都不太一样,这些配置的目录可以自己随意配置的,在 nginx.conf 写好就可以了
    cst4you
        26
    cst4you  
       2016-07-29 18:30:46 +08:00
    新的版本, 包里好像默认没有这样的配置了, 方式改变了. 自己建立配置吧.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   882 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:45 · PVG 03:45 · LAX 11:45 · JFK 14:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.