server_installation:nginx_proxy
This is an old revision of the document!
Using nginx to serve static content
A default Evergreen install uses Apache to serve up both static and dynamic content. This causes Apache to have to constantly respawn backend processes. Using a high-performance proxy server to serve up static content and pass on the dynamic requests to Apache can make you, your server, and your users happier. The following document is based on a full handful of late-night hours trying out nginx for the first time, so use at your own risk…
Steps to get this working on Ubuntu Karmic, assuming that nginx and Apache are running on the same server:
- Install nginx: sudo aptitude install nginx
- Copy the configuration file (below) into a file called /etc/nginx/sites-available/evergreen and create a symbolic link to the file at /etc/nginx/sites-enabled/evergreen
- Modify /etc/apache2/ports.conf to change port 80 to 9080 and port 443 to 9443.
- Modify /etc/apache2/eg_vhost.conf to change the "Listen 443" directive to "Listen 9443"
- Restart nginx and Apache to put the new configuration in place
- Enjoy!
server { listen 80; root /openils/var/web; access_log /var/log/nginx/evergreen.access.log; error_log /var/log/nginx/evergreen.error.log; location /js/ {} location ~* \.(css|gif|jpg|jpeg|js|png)$ { rewrite "^(/opac/)([a-z]{2}-[A-Z]{2}/)(.*\.)(css|gif|jpg|jpeg|js|png)$" $1$3$4 break; } location / { rewrite ^(/?)$ /opac/en-US/skin/default/xml/index.xml redirect; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:9080; proxy_redirect off; port_in_redirect off; } } server { listen 443; root /openils/var/web; ssl on; ssl_certificate /etc/apache2/ssl/server.crt; ssl_certificate_key /etc/apache2/ssl/server.key; access_log /var/log/nginx/evergreen_ssl.access.log; error_log /var/log/nginx/evergreen_ssl.error.log; location /js/ {} location ~* \.(css|gif|jpg|jpeg|js|png)$ { rewrite "^(/opac/)([a-z]{2}-[A-Z]{2}/)(.*\.)(css|gif|jpg|jpeg|js|png)$" $1$3$4 break; } location / { rewrite ^(/?)$ /opac/en-US/skin/default/xml/index.xml redirect; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass https://localhost:9443; proxy_redirect off; port_in_redirect off; } }
server_installation/nginx_proxy.1255843850.txt.gz · Last modified: 2022/02/10 13:34 (external edit)