CentOS 7 에 Nginx 설정 을 설치 하면 의사 정적 을 지원 합 니 다 (모든 코드 포함)

6118 단어 Nginx
CentOS 7 에 Nginx 설정 을 설치 하면 의사 정적 을 지원 합 니 다.
Linux 에서 Nginx 를 설치 하고 설정 하 는 것 은 위 정적 을 지원 하 는 것 이 초보 자 에 게 어 려 운 문제 입 니 다. 404 등 오류 가 자주 발생 합 니 다. 디 버 깅 을 설정 하 는 것 은 시간 을 낭비 합 니 다. 가끔 은 손 을 쓸 수 없다 고 생각 합 니 다. 인터넷 의 자료 도 중요 하고 어 려 운 것 을 사람들 에 게 나무 만 보이 고 숲 이 보이 지 않 는 느낌 을 주 며 전체적인 모습 을 엿 볼 수 없습니다.이 보 는 CentOS 7 에 Nginx 를 설치 하여 위 정적 인 인 인 스 턴 스 를 지원 합 니 다. 참고 하 시기 바 랍 니 다.
박문 의 내용 은 두 부분 을 포함한다.
원 키 설치 Nginx 설정 글 내용:
원 키 설치 시 lnmp 원 키 설치 패 키 지 를 사용 합 니 다. 명령 은 다음 과 같 습 니 다.
wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnmp1.5 && ./install.sh lnmp
    : [https://lnmp.org/install.html]

Nginx 설정 / usr / local / nginx / conf / nginx. conf 설정 내용 은 다음 과 같 습 니 다. 구체 적 인 정 보 는 코드 설명 참조.
user  www www; #  

worker_processes auto;

error_log  /home/wwwlogs/nginx_error.log crit; #      

pid        /usr/local/nginx/logs/nginx.pid; #    

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200; 

events
    {
        use epoll;
        worker_connections 51200;
        multi_accept on;
    }

http
    {
        include       mime.types;
        default_type  application/octet-stream;

        server_names_hash_bucket_size 128;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 50m;

        sendfile   on;
        tcp_nopush on;
        keepalive_timeout 60;
        tcp_nodelay on;
		
		#fastcgi    
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;
        
        #gzip  
        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";

        server_tokens off;
        access_log off;
		
		#      
        include vhost/default.conf;
}


/usr/local/nignx/conf/vhost/default.conf
server
{
        listen       80;
        server_name  localhost;
        index        index.html index.htm index.php;
        root /home/www;
        autoindex off;


        #forbid spider to draw the resources
        location ~* ^.+\.(jpg|jpeg|gif|png|swf|rar|zip|css|js|sql|html|htm|log|txt|doc|pdf|bak)$ {
                valid_referers none blocked localhost *.baidu.com *.haosou.com *.google.com *.google.hk *.sogou.com *.etao.com *.chinaz.com;
                if ($invalid_referer) {
                        return 403;
                        break;
                }

                access_log off;
                expires 30d;
         }

		#          
        location ~* ^.+\.(jpg|jpeg|gif|png|rar|zip|css|js|sql|html|htm|log|txt|doc|bak)$ {
                if (-f $request_filename) {
                        root /statics/;
                        return 403;
                }
        }

		# url   index.php  ,  http://localhost/admin/logout -> http://localhost/index.php/admin/logout
        location / {
                index  index.html index.htm index.php;
                rewrite ^/$ /index.php last;
                rewrite ^/(?!index\.php|robots\.txt|images|js|styles|statics|install)(.*)$ /index.php/$1 last;
        }

        location ~ ^/favicon\.ico$ {
                root    /home/www;
        }

        location ~ .*\.(js|css)?$
        {
                expires 1h;
        }

		#fastcgi    pathinfo    
        include enable-php.conf;
}


/usr/local/nignx/conf/enable-php.conf
        location ~ [^/]\.php(/|$)
        {
        		#  $fastcgi_script_name $fastcgi_path_info
                fastcgi_split_path_info ^(.+?\.php)(/.*)$;

                if (!-f $document_root$fastcgi_script_name) {
                        return 404;
                }


                # Mitigate https://httpoxy.org/ vulnerabilities
                fastcgi_param HTTP_PROXY "";

                fastcgi_pass  unix:/tmp/php-cgi.sock;
                fastcgi_index index.php;

                include fastcgi_params;
        }



모든 매개 변 수 는 한 파일 에 다음 과 같이 설정 되 어 있 습 니 다: / usr / local / nignx / conf / fastcgiparams
fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

#          SCRIPT_FILENAME PATH_INFO         ,    
fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  PATH_INFO          $fastcgi_path_info;
#fastcgi_param  PATH_TRANSLATED    $document_root$fastcgi_path_info;

fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  REQUEST_SCHEME     $scheme;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";


nginx 공식 글https://blog.jjonline.cn/linux/218.html https://blog.csdn.net/m0_37355951/article/details/78333723

좋은 웹페이지 즐겨찾기