Total newb here so apologies in advance. (Silly me, I could have set up
Apache, but I decided to learn something new.)
I have an existing website hosted on a server running apache. I am
setting
up a new server, this one being vitrual and bare bones, i.e. nothing
installed but linux. OS is debian. Host company is ovh.com. I
installed
nginx from the repo rather than complile.
Default file local per the debian installation is the website is found
at
/usr/share/nginx/www. The html files are located in the www directory.
The
index.html renders fine. However, I can’t follow links in the page.
I haven’t changed the dns yet, but the website can be found by going to
167.114.155.30. External links work fine, as demonstrated on this page:
http://167.114.155.30/archived_playback.html
The “default” file is as follows:
/etc/nginx/sites-available# cat default
You may add here your
server {
…
}
statements for each of your virtual hosts to this file
You should look at the following URL’s in order to grasp a solid
understanding
of Nginx configuration files in order to fully unleash the power of
Nginx.
Pitfalls and Common Mistakes | NGINX
http://wiki.nginx.org/QuickStart
Getting Started | NGINX
Generally, you will want to move this file somewhere, and start with a
clean
file but keep this around for reference. Or just disable in
sites-enabled.
Please see /usr/share/doc/nginx-doc/examples/ for more detailed
examples.
server {
listen 80; ## listen for ipv4; this line is default and
implied
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
root /usr/share/nginx/www;
index index.html index.htm;
# Make site accessible from http://localhost/
server_name localhost;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ $uri.html =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
location /doc/ {
alias /usr/share/doc/;
autoindex on;
allow 127.0.0.1;
allow ::1;
deny all;
}
# Only for nginx-naxsi used with nginx-naxsi-ui : process denied
requests
#location /RequestDenied {
# proxy_pass http://127.0.0.1:8080;
#}
error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www;
}
# pass the PHP scripts to FastCGI server listening on
127.0.0.1:9000
#
#location ~ .php$ {
# fastcgi_split_path_info ^(.+.php)(/.+)$;
# # NOTE: You should have “cgi.fix_pathinfo = 0;” in
php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
# fastcgi_pass unix:/var/run/php5-fpm.sock;
# fastcgi_index index.php;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
another virtual host using mix of IP-, name-, and port-based
configuration
Server {
listen 8000;
listen somename:8080;
server_name somename alias another.alias;
root html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
#}
HTTPS server
Server {
listen 443;
server_name localhost;
root html;
index index.html index.htm;
ssl on;
ssl_certificate cert.pem;
ssl_certificate_key cert.key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
ssl_prefer_server_ciphers on;
location / {
try_files $uri $uri/ =404;
}
#}