Installing and Configuring Nginx as an External Web Server: Difference between revisions
(Created page with " ==nginx vs Apache== We recommend nginx or lighttpd as they are better suited to handle the hundreds of file requests that MTA:SA clients will generate. Apache can be used, bu...") |
(No difference)
|
Revision as of 03:59, 16 November 2014
nginx vs Apache
We recommend nginx or lighttpd as they are better suited to handle the hundreds of file requests that MTA:SA clients will generate. Apache can be used, but will require settings tweaking and the mtasever.conf setting <httpmaxclientrequests> may have to be reduced to prevent timeouts.
The following guide is for installing and configuring nginx solely for MTA:SA. It assumes:
- You are not already using nginx for other web sites on your server.
- MTA:SA server is installed on the same server.
- You are using Debian 7 (but should work on other distributions in a similar way.)
Installing nginx:
Update system:
apt-get update apt-get upgrade
Install nginx:
apt-get install nginx
Ensure nginx is not running:
/etc/init.d/nginx stop
Configuring nginx:
Edit: /etc/nginx/sites-available/default
Find the 'root' line and change it to point to the http-client-files directory in your MTA:SA server install:
root /PATH_TO_MTA_SERVER/mods/deathmatch/resource-cache/http-client-files;
Find the 'listen' and change if to use an unused server port: (Remove # if present)
listen 20080;
Edit: /etc/nginx/nginx.conf
At the top of the file, add this line to increase the max number of files that can be opened:
worker_rlimit_nofile 5000;
Find the 'worker_connections' line and change it to this:
worker_connections 5000;
Find the 'gzip' settings and make sure gzip is on:
gzip on;
and 'gzip_types' is set for any file type:
gzip_types *;
Testing nginx:
Start nginx:
/etc/init.d/nginx start
Test #1
Open your internet browser, and try this address: http://YOUR_SERVER_IP:20080/admin/client/admin_ACL.lua
If prompted to download a file - SUCCESS!
Test #2
To test the compression is working, go here: http://www.whatsmyip.org/http-compression-test/ and enter http://YOUR_SERVER_IP:20080/admin/client/admin_ACL.lua in the white box and press 'Test'.
If green tick - SUCCESS!
Configure MTA:SA server:
Edit mtaserver.conf
Set httpdownloadurl to be like this:
<httpdownloadurl>http://YOUR_SERVER_IP:20080</httpdownloadurl>
And start MTA:SA server.
Test it all works!
Connect MTA:SA client and view nginx log files to confirm files are being downloaded: /var/log/nginx/access.log
Final thing
To improve performance, and to avoid huge boring log files, edit /etc/nginx/sites-available/default and add this line under the listen one:
access_log off;
and reload the nginx configuration:
/etc/init.d/nginx reload