31

Where is the conventionally accepted location of node.js/express web apps, in a linux file system?

Currently I've got a subdirectory in /opt/ but I'd like to hear other people's view on this...

2 Answers 2

15

The /opt directory is a good location for the program distribution files. The /srv directory is used for the programs run-time data. (Please see the Filesystem Hierarchy Standard.) Unlike the /etc directory where the standard indicates that the /opt/<pkg> configuration files should be placed in /etc/opt/<pkg>, there is no standardization that /srv/opt/<pkg> should be a parallel structure (although it's probably not a bad idea).

In summary:

/opt/webserver/     (your node.js application)
    server.js
    package.json
    node_modules/
    ...

/etc/opt/webserver/
    config.json     (configuration file for your web server)

/srv/opt/webserver/ (opt subdirectory suggested, but not required)
    index.html
    images/
    css/
    ...

/var/opt/webserver
    error.log
    request.log

Please keep in mind that this is the general case, and is not unique to express applicaitons.

3
  • 2
    Why did you recommend to put logs into /var/opt/webserver and not into /var/log/webserver? Is this a typo?
    – kaiser
    Commented Feb 19, 2016 at 12:39
  • On a Google Compute Engine running Debian should /opt or /srv directory be good enough to deploy a node application so the multiple users can access it with read/write permissions?
    – Rinav
    Commented Nov 22, 2017 at 6:00
  • What are the best permissions for the opt folder? Commented Jan 28, 2019 at 20:30
5

The most appropriate place would be under /srv.

You must log in to answer this question.

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