0

To use the Nginx default conf (sites-available/default) one needs to uncomment all relevant lines in that file.

To avoid manual uncommenting each time I install a new server environment on a new machine, what I did was to make myself a copy of the uncommented default conf, and each time I just paste it, or redirect it (>), to the new default conf file, in the new machine.

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;
    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }
}

The problem is that the above conf could change any day and if it changes tomorrow, it might mismatch a new Nginx I've installed with sudo apt-get install nginx on some machine.

Hence, I'm looking for a way to better cope with my need to turn on the default Nginx conf. I don't want to turn it on by manual uncommenting, or copy-paste a ready, uncommented version as I do now:

I aspire to turn on the default conf in a more safe way, maybe by some CLI command.

What will be a plausible way to do so?

5
  • I've no idea what your actual problem is, but I've a vague feeling that you have some big misunderstanding how all this is supposed to work. Also, normally you install nginx exactly once ....
    – Sven
    Commented Feb 2, 2018 at 11:54
  • What's "all of this"? With the above code I'm able to get Nginx to work and serve apps like PHPmyadmin. Without it, no app will work. I edited my question to better explain the problem I try to cope with. I am really surprised the question was putted on hold. Commented Feb 2, 2018 at 12:03
  • In the mean time, here is my answer. You can define the configuration file with the "-c" option. Add DAEMON_OPTS variable to /etc/default/nginx. But I don't think an upgrade would overwrite your configurations changes without your permission. Commented Feb 2, 2018 at 12:05
  • I aspire to turn on the default conf in a more safe way. Removing/adding the symlink in sites-enabled is the default and safe and easy way on Debian/Ubuntu.
    – Sven
    Commented Feb 2, 2018 at 12:16

1 Answer 1

-2

You can define the configuration file with the "-c" option. Add the following line to /etc/default/nginx :

DAEMON_OPTS="-c  /thisismy.conf"

But I don't think an upgrade would overwrite your configurations changes without your permission.

4
  • 1
    I did, because that's a terrible approach, as you now ignored all the other stuff that gets included in the default config files on Debian/Ubuntu. There is an easy, standard and supported way to enable/disable configuration blocks like vhosts - just use it.
    – Sven
    Commented Feb 2, 2018 at 12:22
  • I thought the OP wanted his own "default.conf", and that's what the "-c" option is for. Commented Feb 2, 2018 at 12:54
  • No, the sites-available/default.conf on Debian/Ubuntu contains just a few defaults for virtual hosts, it gets included from the main config (/etc/nginx/nginx.conf file via an include statement that includes everything in sites-enabled. Everything in sites-enabled is supposed to be a symlink to a corresponding file in sites-available and you can activate/deactivate any block by removing or creating this symlink.
    – Sven
    Commented Feb 2, 2018 at 13:18
  • But @Sven the default file is still fully uncommented to be used, even if you add a symling to it from sites-enabled. My aim is to quickly uncomment the relevant conf inside it (in the end of it). Commented Feb 2, 2018 at 23:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .