在實際的項目開發中,有時候難免會遇到內網開發,但是內網開發的話測試就沒法在外網進行測試,這個時候我們就可以部署一個內網和一個外網的,這樣就可以保證內網正常使用的同時,測試也可以使用外網進行測試,不會耽誤進度
user ?root; worker_processes ?auto; error_log ?logs/error.log; #error_log ?logs/error.log ?notice; #error_log ?logs/error.log ?info; pid ? ? ? ?logs/nginx.pid; events { ?? ?use epoll; ? ? worker_connections ?1024; } http { ? ? include ? ? ? mime.types; ? ? default_type ?application/octet-stream; ? ? #log_format ?main ?'$remote_addr - $remote_user [$time_local] "$request" ' ? ? # ? ? ? ? ? ? ? ? ?'$status $body_bytes_sent "$http_referer" ' ? ? # ? ? ? ? ? ? ? ? ?'"$http_user_agent" "$http_x_forwarded_for"'; ?? ? ?? ?log_format ?main ?'$remote_addr - $remote_user [$time_local] "$request" "$request_time" ' ? ? ? ? ? ? ? ? ? ? ? '$status $body_bytes_sent "$http_referer" ' ? ? ? ? ? ? ? ? ? ? ? '"$http_user_agent" "$http_x_forwarded_for" "$upstream_response_time"'; ? ? #access_log ?logs/access.log ?main; ? ? sendfile ? ? ? ?on; ? ? #tcp_nopush ? ? on; ?? ?server_tokens off; ? ? #keepalive_timeout ?0; ? ? keepalive_timeout ?65; ? ? #gzip ?on; ?? ?gzip on; ? ? gzip_proxied any; ? ? gzip_comp_level 4; ? ? gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; ? ? gzip_min_length 1k; ? ? gzip_buffers 4 16k; ? ? gzip_http_version 1.1; ? ? gzip_vary on; ?? ? ?? ?client_max_body_size 10m; ? ? client_body_buffer_size 128k; ?? ? ?? ?proxy_redirect off; ? ? proxy_connect_timeout 300;?? ? ? ? proxy_read_timeout 300; ? ? proxy_send_timeout 300; ? ? proxy_buffer_size 16k; ? ? proxy_buffers 4 32k; ? ? proxy_busy_buffers_size 64k;? ? ? proxy_temp_file_write_size 128k; ?? ?proxy_temp_path /a/b/c/nginx/proxy_temp; ? ? server { ? ? ? ? listen ? ? ? 8080; ? ? ? ? server_name ?服務器ip; ? ? ? ? #charset koi8-r; ? ? ? ? #access_log ?logs/host.access.log ?main; ? ? ? ? location / { ? ? ? ? ? ? root ? html; ? ? ? ? ? ? index ?index.html index.htm; ? ? ? ? } ?? ??? ? ?? ??? ?#內網前端 ?? ??? ?location ^~ /example/ { ? ?? ??? ??? ?alias /a/b/example/; ?? ??? ??? ?try_files ?$uri $uri/ /index.html; ?? ??? ?} ?? ??? ? ?? ??? ?#外網前端 ?? ??? ?location ^~ /example-test/ { ? ?? ??? ??? ?alias /a/b/example-test/; ?? ??? ??? ?try_files ?$uri $uri/ /index.html; ?? ??? ?} ?? ??? ? ?? ??? ?#服務上傳圖片 ?? ??? ?location /example/upload/file/ { ? ?? ??? ??? ?client_max_body_size 1000M; ?? ??? ??? ?client_body_buffer_size 1000M; ?? ??? ??? ? ?? ??? ??? ?proxy_read_timeout 90; ?? ??? ??? ?proxy_connect_timeout 90; ?? ??? ??? ?proxy_send_timeout 90; ?? ??? ??? ? ?? ??? ??? ?proxy_set_header Host $host; ?? ??? ??? ?proxy_set_header X-Real-IP $remote_addr; ?? ??? ??? ?proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;?? ? ?? ??? ??? ? ?? ??? ??? ?proxy_pass http://服務器ip:服務端口號/file/; ? ?? ??? ?} ?? ??? ? ?? ??? ?#服務后端 ?? ??? ?location /a/b/ { ?? ??? ??? ?client_max_body_size 1000M; ?? ??? ??? ?client_body_buffer_size 1000M; ?? ??? ??? ? ?? ??? ??? ?proxy_read_timeout 90; ?? ??? ??? ?proxy_connect_timeout 90; ?? ??? ??? ?proxy_send_timeout 90; ?? ??? ??? ? ?? ??? ??? ?proxy_set_header Host $host; ?? ??? ??? ?proxy_set_header X-Real-IP $remote_addr; ?? ??? ??? ?proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;?? ? ?? ??? ??? ? ?? ??? ??? ?proxy_pass http://服務器ip:服務端口號/example/; ?? ??? ?} ? ? ? ? #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 ? html; ? ? ? ? } ? ? ? ? # proxy the PHP scripts to Apache listening on 127.0.0.1:80 ? ? ? ? # ? ? ? ? #location ~ \.php$ { ? ? ? ? # ? ?proxy_pass ? http://127.0.0.1; ? ? ? ? #} ? ? ? ? # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 ? ? ? ? # ? ? ? ? #location ~ \.php$ { ? ? ? ? # ? ?root ? ? ? ? ? html; ? ? ? ? # ? ?fastcgi_pass ? 127.0.0.1:9000; ? ? ? ? # ? ?fastcgi_index ?index.php; ? ? ? ? # ? ?fastcgi_param ?SCRIPT_FILENAME ?/scripts$fastcgi_script_name; ? ? ? ? # ? ?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; ? ? # ? ?location / { ? ? # ? ? ? ?root ? html; ? ? # ? ? ? ?index ?index.html index.htm; ? ? # ? ?} ? ? #} ? ? # HTTPS server ? ? # ? ? #server { ? ? # ? ?listen ? ? ? 443 ssl; ? ? # ? ?server_name ?localhost; ? ? # ? ?ssl_certificate ? ? ?cert.pem; ? ? # ? ?ssl_certificate_key ?cert.key; ? ? # ? ?ssl_session_cache ? ?shared:SSL:1m; ? ? # ? ?ssl_session_timeout ?5m; ? ? # ? ?ssl_ciphers ?HIGH:!aNULL:!MD5; ? ? # ? ?ssl_prefer_server_ciphers ?on; ? ? # ? ?location / { ? ? # ? ? ? ?root ? html; ? ? # ? ? ? ?index ?index.html index.htm; ? ? # ? ?} ? ? #} }
從配置文件中可以看到,我們多配置了一個example-test,回頭我們在/a/b路徑下創建兩個文件夾example和example-test,一個放內網的前端包,一個放外網的前端包,就可以解決問題