本文主要讲述Nginx静态文件,怎样创建Nginx静态文件项目。这些内容都是一些门户网站和技术论坛找到的,中间可能有不少错误是我没有挑出的,欢迎大家 指正。
我们的目标是配置一个服务最快且cpu/io利用最有效的服务器,更重要的是一个安全的web服务器,下面的配置文件适用于***版Nginx
- #######################################################
- ### Calomel.org /etc/Nginx.conf BEGIN
- #######################################################
- #
- pid /var/run/Nginx.pid;
- user Nginx Nginx;
- worker_processes 2;
- events {
- worker_connections 1024;
- }
- http {
- ## MIME types
- include mime.types;
- # types {
- # image/gif gif;
- # image/jpeg jpg;
- # image/png png;
- # image/bmp bmp;
- # image/x-icon ico;
- # text/css css;
- # text/html html;
- # text/plain bob;
- # text/plain txt;
- }
- default_type application/octet-stream;
- ## Size Limits
- client_body_buffer_size 8k;
- client_header_buffer_size 1k;
- client_max_body_size 1k;
- large_client_header_buffers 1 1k;
- ## Timeouts
- client_body_timeout 5;
- client_header_timeout 5;
- keepalive_timeout 5 5;
- send_timeout 5;
- ## General Options
- ignore_invalid_headers on;
- limit_zone gulag $binary_remote_addr 1m;
- recursive_error_pages on;
- sendfile on;
- server_name_in_redirect off;
- server_tokens off;
- ## TCP options
- tcp_nodelay on;
- tcp_nopush on;
- ## Compression
- gzip on;
- gzip_static on;
- gzip_buffers 16 8k;
- gzip_comp_level 9;
- gzip_http_version 1.0;
- gzip_min_length 0;
- gzip_types text/plain text/html text/css image/x-icon image/
bmp;- gzip_vary on;
- ## Log Format
- log_format main '$remote_addr $host $remote_user [$time_
local] "$request" '- '$status $body_bytes_sent "$http_referer" "$http_user_
agent" "$gzip_ratio"';- ## Deny access to any host other than (www.)mydomain.com
- server {
- server_name _; #default
- return 444;
- }
- ## Server (www.)mydomain.com
- server {
- access_log /var/log/Nginx/access.log main buffer=32k;
- error_log /var/log/Nginx/error.log info;
- expires 31d;
- limit_conn gulag 5;
- listen 127.0.0.1:8080 rcvbuf=64k backlog=128;
- root /disk01/htdocs;
- server_name mydomain.com www.mydomain;
- ## SSL Options (only enable if you use a SSL certificate)
- # ssl on;
- # ssl_certificate /ssl_keys/mydomain.com_ssl.crt;
- # ssl_certificate_key /ssl_keys/mydomain_ssl.key;
- # ssl_ciphers HIGH:!ADH:!MD5;
- # ssl_prefer_server_ciphers on;
- # ssl_protocols SSLv3;
- # ssl_session_cache shared:SSL:1m;
- # ssl_session_timeout 5m;
- ## Only allow GET and HEAD request methods
- if ($request_method !~ ^(GET|HEAD)$ ) {
- return 444;
- }
- ## Deny illegal Host headers
- if ($host !~* ^(mydomain.com|www.mydomain.com)$ ) {
- return 444;
- }
- ## Deny certain User-Agents (case insensitive)
- ## The ~* makes it case insensitive as opposed to just a ~
- if ($http_user_agent ~* (Baiduspider|Jullo) ) {
- return 444;
- }
- ## Deny certain Referers (case insensitive)
- ## The ~* makes it case insensitive as opposed to just a ~
- if ($http_referer ~* (babes|click|diamond|forsale|girl|jewelry|
love|nudit|organic|poker|porn|poweroversoftware|sex|teen|
video|webcam|zippo) ) {- return 444;
- }
- ## Redirect from www to non-www
- if ($host = 'www.mydomain.com' ) {
- rewrite ^/(.*)$ http://mydomain.com/$1 permanent;
- }
- ## Stop Image and Document Hijacking
- location ~* (\.jpg|\.png|\.css)$ {
- if ($http_referer !~ ^(http://mydomain.com) ) {
- return 444;
- }
- }
- ## Restricted Access directory
- location ^~ /secure/ {
- allow 127.0.0.1/32;
- allow 10.10.10.0/24;
- deny all;
- auth_basic "RESTRICTED ACCESS";
- auth_basic_user_file /var/www/htdocs/secure/access_list;
- }
- ## Only allow these file types to document root
- location / {
- if ($request_uri ~* (^\/|\.html|\.jpg|\.org|\.png|\.css|
favicon\.ico|robots\.txt)$ ) {- break;
- }
- return 444;
- }
- ## Serve an empty 1x1 gif _OR_ an error 204 (No Content)
for favicon.ico- location = /favicon.ico {
- #empty_gif;
- return 204;
- }
- ## System Maintenance (Service Unavailable)
- if (-f $document_root/system_maintenance.html ) {
- error_page 503 /system_maintenance.html;
- return 503;
- }
- ## All other errors get the generic error page
- error_page 400 401 402 403 404 405 406 407 408 409 410 411
412 413 414 415 416 417- 500 501 502 503 504 505 /error_page.html;
- location /error_page.html {
- internal;
- }
- }
- }
- #
- #######################################################
- ### Calomel.org /etc/Nginx.conf END
- #######################################################
以上就是对Nginx静态文件命令的详细介绍希望大家有所收获。
【编辑推荐】