Nginx
From KevinWiki
(Difference between revisions)
Line 3: | Line 3: | ||
= Installation = | = Installation = | ||
$ sudo apt-get install nginx | $ sudo apt-get install nginx | ||
+ | |||
+ | == Latest Stable == | ||
+ | * To get the latest stable version | ||
+ | Add the following repo info to /etc/apt/sources.list | ||
+ | |||
+ | deb http://nginx.org/packages/ubuntu/ precise nginx | ||
+ | deb-src http://nginx.org/packages/ubuntu/ precise nginx | ||
+ | * Add Key | ||
+ | wget -q http://nginx.org/packages/keys/nginx_signing.key -O- | sudo apt-key add - | ||
+ | |||
+ | * Install | ||
+ | |||
+ | Get error like | ||
+ | <pre> | ||
+ | ---------------------------------------------------------------------- | ||
+ | dpkg: error processing /var/cache/apt/archives/nginx_1.2.6-1~precise_amd64.deb (--unpack): | ||
+ | trying to overwrite '/etc/logrotate.d/nginx', which is also in package nginx-common 1.1.19-1ubuntu0.1 | ||
+ | dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) | ||
+ | Errors were encountered while processing: | ||
+ | /var/cache/apt/archives/nginx_1.2.6-1~precise_amd64.deb | ||
+ | E: Sub-process /usr/bin/dpkg returned an error code (1) | ||
+ | </pre> | ||
+ | |||
+ | $ sudo apt-get remove nginx-common | ||
+ | |||
+ | $ sudo apt-get install nginx | ||
+ | |||
+ | * '''PROBLEM: NO extra modules.''' | ||
= Configuration = | = Configuration = |
Revision as of 07:39, 31 December 2012
NginX is a lightweight open source Web server .
Contents |
Installation
$ sudo apt-get install nginx
Latest Stable
- To get the latest stable version
Add the following repo info to /etc/apt/sources.list
deb http://nginx.org/packages/ubuntu/ precise nginx deb-src http://nginx.org/packages/ubuntu/ precise nginx
- Add Key
wget -q http://nginx.org/packages/keys/nginx_signing.key -O- | sudo apt-key add -
- Install
Get error like
---------------------------------------------------------------------- dpkg: error processing /var/cache/apt/archives/nginx_1.2.6-1~precise_amd64.deb (--unpack): trying to overwrite '/etc/logrotate.d/nginx', which is also in package nginx-common 1.1.19-1ubuntu0.1 dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) Errors were encountered while processing: /var/cache/apt/archives/nginx_1.2.6-1~precise_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
$ sudo apt-get remove nginx-common
$ sudo apt-get install nginx
- PROBLEM: NO extra modules.
Configuration
Remove Server Info
Version
Modify /etc/nginx/nginx.conf
server_tokens off;
Server Info in Response Header
- Remove server info in the response header
Install extra modules for changing header
$ sudo apt-get install nginx-extras
- Add the following line to the http block in the
/etc/nginx/nginx.conf
.
more_set_headers 'Server: server';
Virtual Host
Default
server { listen 80; listen 127.0.0.1:80; server_name localhost; root /var/www; index index.html index.htm; location / { index index.html index.htm; } }
- Restart Nginx
$ sudo /etc/init.d/nginx restart
PHP
$ sudo apt-get install php5-fpm
server { listen 80; listen 127.0.0.1:80; server_name localhost; root /var/www; index index.php index.html index.htm; location / { index index.php index.html index.htm; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } }
- Restart php5-fpm
$ sudo /etc/init.d/php5-fpm
Use with Tomcat
server { listen 80; listen 127.0.0.1:80; server_name localhost; root /var/www; location /manager { proxy_pass http://localhost:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; } }
- Add a new file to
/etc/nginx/sites-available/
server { listen 80; listen 127.0.0.1:80; server_name demo.localhost; root /path/to/tomcat/webapps; location / { proxy_pass http://localhost:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; } location ^/$ { proxy_pass http://localhost:8080/default-app; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; } }
Example
server { listen 80; listen 127.0.0.1:80; server_name localhost; root /var/www; index index.php index.html index.htm; location / { index index.php index.html index.htm; } location /manager { proxy_pass http://localhost:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; } }