2.6 KiB
Nginx Server Configs homepage | Documentation table of contents
Getting started
Using the Nginx server configs repo directly has a few required steps to be able to work.
Check nginx.conf
settings
The first thing to check is that the nginx.conf
file contains appropriate values for
your specific install. The web user varies with distribution, in most cases compare to
the config file originally present, and use the same user:
// /etc/nginx-original/nginx.conf
user www-data www-data;
Apply to the runtime config file:
// /etc/nginx/nginx.conf
#user www www;
user www-data www-data;
Configure logs and pid file
The location of logs also varies from system to system. To account for this the nginx.conf
file uses a relative path for logs:
// /etc/nginx/nginx.conf
error_log logs/error.log warn;
There are two options to configure this appropriately, change the path to point at the folder where logs should be stored:
// /etc/nginx/nginx.conf
error_log /var/log/nginx/error.log warn;
And:
// /etc/nginx/h5bp/expires.conf
access_log logs/static.log;
To:
// /etc/nginx/h5bp/expires.conf
access_log /var/log/nginx/static.log;
Or, setup a symlink to point at the right place:
cd /etc/nginx
ln -s /var/log/nginx logs
The location of the pid file should also be checked and corrected if necessary.
Creating a site definition
An example server definition is provided in sites-available/example.com
. Copy the file to
sites-available/yourdomainname.com
and edit appropriately. Verify specifically that
the hostname (example.com
) and the root are specified correctly.
Enabling a site
Activate the new site by linking yourdomainname.com
into the sites-enabled
directory:
cd /etc/nginx/sites-enabled
ln -s ../sites-available/yourdomainname.com .
This will make the server active the next time nginx (re)starts.
Verify config and restart nginx
Verify the config and restart nginx to apply the changes.
To verify nginx config (Tests default nginx config file)
nginx -t
OR
To verify a particular nginx config file
nginx -t -c nginx.conf
This will test the nginx config file and throws error if any. Otherwise test is successful and you can restart nginx.
Finally restart nginx to apply the changes. The -s reload
flag means that it will send a signal to the main process to reload the configuration files. If it is valid, it starts accepting connections to the new configuration. The documentation is more in depth
/etc/init.d/nginx -s restart