ÀÖÓãµç¾º



½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

nginx.confµÄÄÚÈݺͻù±¾ÅäÖ÷½·¨

¸üÐÂʱ¼ä:2021Äê07ÔÂ16ÈÕ14ʱ58·Ö À´Ô´:ÀÖÓãµç¾º ä¯ÀÀ´ÎÊý:

´ÓÇ°ÃæµÄÄÚÈÝѧϰÖУ¬ÎÒÃÇÖªµÀNginxµÄºËÐÄÅäÖÃÎļþĬÈÏÊÇ·ÅÔÚ/usr/local/nginx/conf/nginx.conf£¬ÕâÒ»½Ú£¬ÎÒÃǾÍÀ´Ñ§Ï°ÏÂnginx.confµÄÄÚÈݺͻù±¾ÅäÖ÷½·¨¡£

¶ÁÈ¡Nginx×Ô´øµÄNginxÅäÖÃÎļþ£¬ÎÒÃǽ«ÆäÖеÄ×¢ÊͲ¿·Ö¡¾Ñ§Ï°Ò»¸ö¼¼Êõµã¾ÍÊÇÔÚNginxµÄÅäÖÃÎļþÖпÉÒÔʹÓÃ#À´×¢ÊÍ¡¿É¾³ýµôºó£¬¾ÍÊ£ÏÂÏÂÃæÄÚÈÝ:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

}
Ö¸ÁîÃû Ö¸ÁîÖµ;  #È«¾Ö¿é£¬Ö÷ÒªÉèÖÃNginx·þÎñÆ÷ÕûÌåÔËÐеÄÅäÖÃÖ¸Áî

 #events¿é,Ö÷ÒªÉèÖÃ,Nginx·þÎñÆ÷ÓëÓû§µÄÍøÂçÁ¬½Ó,ÕâÒ»²¿·Ö¶ÔNginx·þÎñÆ÷µÄÐÔÄÜÓ°Ïì½Ï´ó
events {     
    Ö¸ÁîÃû Ö¸ÁîÖµ;
}
#http¿é£¬ÊÇNginx·þÎñÆ÷ÅäÖÃÖеÄÖØÒª²¿·Ö£¬´úÀí¡¢»º´æ¡¢ÈÕÖ¾¼Ç¼¡¢µÚÈý·½Ä£¿éÅäÖÃ...             
http {      
    Ö¸ÁîÃû Ö¸ÁîÖµ;
    server { #server¿é£¬ÊÇNginxÅäÖúÍÐéÄâÖ÷»úÏà¹ØµÄÄÚÈÝ
        Ö¸ÁîÃû Ö¸ÁîÖµ;
        location / { 
        #location¿é£¬»ùÓÚNginx·þÎñÆ÷½ÓÊÕÇëÇó×Ö·û´®ÓëlocationºóÃæµÄÖµ½øÐÐÆ¥Å䣬¶ÔÌØ¶¨ÇëÇó½øÐд¦Àí
            Ö¸ÁîÃû Ö¸ÁîÖµ;
        }
    }
    ...
}

¼òµ¥Ð¡½áÏÂ:

nginx.confÅäÖÃÎļþÖÐĬÈÏÓÐÈý´ó¿é£ºÈ«¾Ö¿é¡¢events¿é¡¢http¿é¡£http¿éÖпÉÒÔÅäÖöà¸öserver¿é£¬Ã¿¸öserver¿éÓÖ¿ÉÒÔÅäÖöà¸ölocation¿é¡£

È«¾Ö¿é

userÖ¸Áî

(1)user:ÓÃÓÚÅäÖÃÔËÐÐNginx·þÎñÆ÷µÄworker½ø³ÌµÄÓû§ºÍÓû§×é¡£

Óï·¨ user user [group]
ĬÈÏÖµ nobody
λÖà ȫ¾Ö¿é

¸ÃÊôÐÔÒ²¿ÉÒÔÔÚ±àÒëµÄʱºòÖ¸¶¨£¬Óï·¨ÈçÏÂ./configure --user=user --group=group,Èç¹ûÁ½¸öµØ·½¶¼½øÐÐÁËÉèÖã¬×îÖÕÉúЧµÄÊÇÅäÖÃÎļþÖеÄÅäÖá£

¸ÃÖ¸ÁîµÄʹÓò½Öè:

(1)ÉèÖÃÒ»¸öÓû§ÐÅÏ¢"www"

user www;

(2)´´½¨Ò»¸öÓû§

useradd www

(3)ÐÞ¸ÄuserÊôÐÔ

user www

(4)´´½¨/root/html/index.htmlÒ³Ãæ£¬Ìí¼ÓÈçÏÂÄÚÈÝ

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
<p><em>I am WWW</em></p>
</body>
</html>

(5)ÐÞ¸Änginx.conf

location / {
	root   /root/html;
	index  index.html index.htm;
}

(6)²âÊÔÆô¶¯·ÃÎÊ

Ò³Ãæ»á±¨403¾Ü¾ø·ÃÎʵĴíÎó

(7)·ÖÎöÔ­Òò

ÒòΪµ±Ç°Óû§Ã»ÓзÃÎÊ/root/htmlĿ¼µÄȨÏÞ

(8)½«Îļþ´´½¨µ½ /home/www/html/index.html,ÐÞ¸ÄÅäÖÃ

location / {
	root   /home/www/html;
	index  index.html index.htm;
}

(9)ÔٴβâÊÔÆô¶¯·ÃÎÊ

ÄÜÕý³£·ÃÎÊ¡£

work processÖ¸Áî

master_process:ÓÃÀ´Ö¸¶¨ÊÇ·ñ¿ªÆô¹¤×÷½ø³Ì¡£

Óï·¨ master_process on|off;
ĬÈÏÖµ master_process on;
λÖà ȫ¾Ö¿é

worker_processes:ÓÃÓÚÅäÖÃNginxÉú³É¹¤×÷½ø³ÌµÄÊýÁ¿£¬Õâ¸öÊÇNginx·þÎñÆ÷ʵÏÖ²¢·¢´¦Àí·þÎñµÄ¹Ø¼üËùÔÚ¡£ÀíÂÛÉÏÀ´Ëµworkder processµÄÖµÔ½´ó£¬¿ÉÒÔÖ§³ÖµÄ²¢·¢´¦ÀíÁ¿Ò²Ô½¶à£¬µ«ÊÂʵÉÏÕâ¸öÖµµÄÉ趨ÊÇÐèÒªÊܵ½À´×Ô·þÎñÆ÷×ÔÉíµÄÏÞÖÆ£¬½¨Ò齫¸ÃÖµºÍ·þÎñÆ÷CPUµÄÄÚºËÊý±£´æÒ»Ö¡£

Óï·¨ worker_processes num/auto;
ĬÈÏÖµ 1
λÖà ȫ¾Ö¿é

Èç¹û½«worker_processesÉèÖóÉ2£¬Ôò»á¿´µ½ÈçÏÂÄÚÈÝ:

nginxÖ¸Áî

ÆäËûÖ¸Áî

daemon£ºÉ趨NginxÊÇ·ñÒÔÊØ»¤½ø³ÌµÄ·½Ê½Æô¶¯¡£

ÊØ»¤Ê½½ø³ÌÊÇlinuxºǫִ́ÐеÄÒ»ÖÖ·þÎñ½ø³Ì£¬ÌصãÊǶÀÁ¢ÓÚ¿ØÖÆÖÕ¶Ë£¬²»»áËæ×ÅÖն˹رնøÍ£Ö¹¡£

Óï·¨ daemon on|off;
ĬÈÏÖµ daemon on;
λÖà ȫ¾Ö¿é

pid:ÓÃÀ´ÅäÖÃNginxµ±Ç°master½ø³ÌµÄ½ø³ÌºÅID´æ´¢µÄÎļþ·¾¶¡£

Óï·¨ pid file;
ĬÈÏÖµ ĬÈÏΪ:/usr/local/nginx/logs/nginx.pid
λÖà ȫ¾Ö¿é

¸ÃÊôÐÔ¿ÉÒÔͨ¹ý./configure --pid-path=PATHÀ´Ö¸¶¨

error_log:ÓÃÀ´ÅäÖÃNginxµÄ´íÎóÈÕÖ¾´æ·Å·¾¶

Óï·¨ include file;
ĬÈÏÖµ ÎÞ
λÖà any

events¿é

(1)accept_mutex:ÓÃÀ´ÉèÖÃNginxÍøÂçÁ¬½ÓÐòÁл¯

Óï·¨ error_log file [ÈÕÖ¾¼¶±ð];
ĬÈÏÖµ error_log logs/error.log error;
λÖà ȫ¾Ö¿é¡¢http¡¢server¡¢location

¸ÃÊôÐÔ¿ÉÒÔͨ¹ý./configure --error-log-path=PATHÀ´Ö¸¶¨

ÆäÖÐÈÕÖ¾¼¶±ðµÄÖµÓУºdebug|info|notice|warn|error|crit|alert|emerg£¬·­Òë¹ýÀ´ÎªÊÔ|ÐÅÏ¢|֪ͨ|¾¯¸æ|´íÎó|ÁÙ½ç|¾¯±¨|½ô¼±£¬Õâ¿é½¨Òé´ó¼ÒÉèÖõÄʱºò²»ÒªÉèÖóÉinfoÒÔϵĵȼ¶£¬ÒòΪ»á´øÀ´´óÁ¿µÄ´ÅÅÌI/OÏûºÄ£¬Ó°ÏìNginxµÄÐÔÄÜ¡£

(5)include:ÓÃÀ´ÒýÈëÆäËûÅäÖÃÎļþ£¬Ê¹NginxµÄÅäÖøü¼ÓÁé»î

Óï·¨ accept_mutex on|off;
ĬÈÏÖµ accept_mutex on;
λÖà events

Õâ¸öÅäÖÃÖ÷Òª¿ÉÒÔÓÃÀ´½â¾ö³£ËµµÄ"¾ªÈº"ÎÊÌâ¡£´óÖÂÒâ˼ÊÇÔÚijһ¸öʱ¿Ì£¬¿Í»§¶Ë·¢À´Ò»¸öÇëÇóÁ¬½Ó£¬Nginxºǫ́ÊÇÒÔ¶à½ø³ÌµÄ¹¤×÷ģʽ£¬Ò²¾ÍÊÇ˵Óжà¸öworker½ø³Ì»á±»Í¬Ê±»½ÐÑ£¬µ«ÊÇ×îÖÕÖ»»áÓÐÒ»¸ö½ø³Ì¿ÉÒÔ»ñÈ¡µ½Á¬½Ó£¬Èç¹ûÿ´Î»½ÐѵĽø³ÌÊýĿ̫¶à£¬¾Í»áÓ°ÏìNginxµÄÕûÌåÐÔÄÜ¡£Èç¹û½«ÉÏÊöÖµÉèÖÃΪon(¿ªÆô״̬)£¬½«»á¶Ô¶à¸öNginx½ø³Ì½ÓÊÕÁ¬½Ó½øÐÐÐòÁкÅ£¬Ò»¸ö¸öÀ´»½ÐѽÓÊÕ£¬¾Í·ÀÖ¹Á˶à¸ö½ø³Ì¶ÔÁ¬½ÓµÄÕùÇÀ¡£

(2)multi_accept:ÓÃÀ´ÉèÖÃÊÇ·ñÔÊÐíͬʱ½ÓÊÕ¶à¸öÍøÂçÁ¬½Ó

Óï·¨ multi_accept on|off;
ĬÈÏÖµ multi_accept off;
λÖà events

Èç¹ûmulti_accept±»½ûÖ¹ÁË£¬nginxÒ»¸ö¹¤×÷½ø³ÌÖ»ÄÜͬʱ½ÓÊÜÒ»¸öеÄÁ¬½Ó¡£·ñÔò£¬Ò»¸ö¹¤×÷½ø³Ì¿ÉÒÔͬʱ½ÓÊÜËùÓеÄÐÂÁ¬½Ó

(3)worker_connections£ºÓÃÀ´ÅäÖõ¥¸öworker½ø³Ì×î´óµÄÁ¬½ÓÊý

Óï·¨ worker_connections number;
ĬÈÏÖµ worker_commections 512;
λÖà events


ÕâÀïµÄÁ¬½ÓÊý²»½ö½ö°üÀ¨ºÍǰ¶ËÓû§½¨Á¢µÄÁ¬½ÓÊý£¬¶øÊǰüÀ¨ËùÓпÉÄܵÄÁ¬½ÓÊý¡£ÁíÍ⣬numberÖµ²»ÄÜ´óÓÚ²Ù×÷ϵͳ֧³Ö´ò¿ªµÄ×î´óÎļþ¾ä±úÊýÁ¿¡£

(4)use:ÓÃÀ´ÉèÖÃNginx·þÎñÆ÷Ñ¡ÔñÄÄÖÖʼþÇý¶¯À´´¦ÀíÍøÂçÏûÏ¢¡£

Óï·¨ use method;
ĬÈÏÖµ ¸ù¾Ý²Ù×÷ϵͳ¶¨
λÖà events

×¢Ò⣺´Ë´¦ËùÑ¡Ôñʼþ´¦ÀíÄ£ÐÍÊÇNginxÓÅ»¯²¿·ÖµÄÒ»¸öÖØÒªÄÚÈÝ£¬methodµÄ¿ÉѡֵÓÐselect/poll/epoll/kqueueµÈ£¬Ö®Ç°ÔÚ×¼±¸centos»·¾³µÄʱºò£¬ÎÒÃÇÇ¿µ÷¹ýҪʹÓÃlinuxÄÚºËÔÚ2.6ÒÔÉÏ£¬¾ÍÊÇΪÁËÄÜʹÓÃepollº¯ÊýÀ´ÓÅ»¯Nginx¡£

ÁíÍâÕâЩֵµÄÑ¡Ôñ£¬ÎÒÃÇÒ²¿ÉÒÔÔÚ±àÒëµÄʱºòʹÓÃ

--with-select_module¡¢--without-select_module¡¢

--with-poll_module¡¢--without-poll_moduleÀ´ÉèÖÃÊÇ·ñÐèÒª½«¶ÔÓ¦µÄʼþÇý¶¯Ä£¿é±àÒëµ½NginxµÄÄںˡ£

eventsÖ¸ÁîÅäÖÃʵÀý

´ò¿ªNginxµÄÅäÖÃÎļþ nginx.conf,Ìí¼ÓÈçÏÂÅäÖÃ

events{
	accept_mutex on;
	multi_accept on;
	worker_commections 1024;
	use epoll;
}

Æô¶¯²âÊÔ

./nginx -t
./nginx -s reload

http¿é

¶¨ÒåMIME-Type

ÎÒÃǶ¼ÖªµÀä¯ÀÀÆ÷ÖпÉÒÔÏÔʾµÄÄÚÈÝÓÐHTML¡¢XML¡¢GIFµÈÖÖÀà·±¶àµÄÎļþ¡¢Ã½ÌåµÈ×ÊÔ´£¬ä¯ÀÀÆ÷ΪÁËÇø·ÖÕâЩ×ÊÔ´£¬¾ÍÐèҪʹÓÃMIME Type¡£ËùÒÔ˵MIME TypeÊÇÍøÂç×ÊÔ´µÄýÌåÀàÐÍ¡£Nginx×÷Ϊweb·þÎñÆ÷£¬Ò²ÐèÒªÄܹ»Ê¶±ðǰ¶ËÇëÇóµÄ×ÊÔ´ÀàÐÍ¡£

ÔÚNginxµÄÅäÖÃÎļþÖУ¬Ä¬ÈÏÓÐÁ½ÐÐÅäÖÃ

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

(1)default_type:ÓÃÀ´ÅäÖÃNginxÏìӦǰ¶ËÇëÇóĬÈϵÄMIMEÀàÐÍ¡£

Óï·¨ default_type mime-type;
ĬÈÏÖµ default_type text/plain£»
λÖà http¡¢server¡¢location

ÔÚdefault_type֮ǰ»¹ÓÐÒ»¾äinclude mime.types,include֮ǰÎÒÃÇÒѾ­½éÉܹý£¬Ï൱ÓÚ°Ñmime.typesÎļþÖÐMIMTÀàÐÍÓëÏà¹ØÀàÐÍÎļþµÄÎļþºó׺ÃûµÄ¶ÔÓ¦¹ØÏµ¼ÓÈëµ½µ±Ç°µÄÅäÖÃÎļþÖС£

¾ÙÀýÀ´ËµÃ÷£º

ÓÐЩʱºòÇëÇóijЩ½Ó¿ÚµÄʱºòÐèÒª·µ»ØÖ¸¶¨µÄÎı¾×Ö·û´®»òÕßjson×Ö·û´®£¬Èç¹ûÂß¼­·Ç³£¼òµ¥»òÕ߸ɴàÊǹ̶¨µÄ×Ö·û´®£¬ÄÇô¿ÉÒÔʹÓÃnginx¿ìËÙʵÏÖ£¬ÕâÑù¾Í²»Óñàд³ÌÐòÏìÓ¦ÇëÇóÁË£¬¿ÉÒÔ¼õÉÙ·þÎñÆ÷×ÊÔ´Õ¼Óò¢ÇÒÏìÓ¦ÐÔÄܷdz£¿ì¡£

ÈçºÎʵÏÖ:

location /get_text {
	#ÕâÀïÒ²¿ÉÒÔÉèÖóÉtext/plain
    default_type text/html;
    return 200 "This is nginx's text";
}
location /get_json{
    default_type application/json;
    return 200 '{"name":"TOM","age":18}';
}

×Ô¶¨Òå·þÎñÈÕÖ¾

NginxÖÐÈÕÖ¾µÄÀàÐÍ·Öaccess.log¡¢error.log¡£

access.log:ÓÃÀ´¼Ç¼Óû§ËùÓеķÃÎÊÇëÇó¡£

error.log:¼Ç¼nginx±¾ÉíÔËÐÐʱµÄ´íÎóÐÅÏ¢£¬²»»á¼Ç¼Óû§µÄ·ÃÎÊÇëÇó¡£

Nginx·þÎñÆ÷Ö§³Ö¶Ô·þÎñÈÕÖ¾µÄ¸ñʽ¡¢´óС¡¢Êä³öµÈ½øÐÐÉèÖã¬ÐèҪʹÓõ½Á½¸öÖ¸Á·Ö±ðÊÇaccess_logºÍlog_formatÖ¸Áî¡£

(1)access_log:ÓÃÀ´ÉèÖÃÓû§·ÃÎÊÈÕÖ¾µÄÏà¹ØÊôÐÔ¡£

Óï·¨ access_log path[format[buffer=size]]
ĬÈÏÖµ access_log logs/access.log combined;
λÖà http, server, location

(2)log_format:ÓÃÀ´Ö¸¶¨ÈÕÖ¾µÄÊä³ö¸ñʽ¡£

Óï·¨ log_format name [escape=default|json|none] string....;
ĬÈÏÖµ log_format combined "...";
λÖà http

ÆäËûÅäÖÃÖ¸Áî

(1)sendfile:ÓÃÀ´ÉèÖÃNginx·þÎñÆ÷ÊÇ·ñʹÓÃsendfile()´«ÊäÎļþ£¬¸ÃÊôÐÔ¿ÉÒÔ´ó´óÌá¸ßNginx´¦Àí¾²Ì¬×ÊÔ´µÄÐÔÄÜ

Óï·¨ sendfile on|off£»
ĬÈÏÖµ sendfile off;
λÖà http¡¢server¡¢location

(2)keepalive_timeout:ÓÃÀ´ÉèÖó¤Á¬½ÓµÄ³¬Ê±Ê±¼ä¡£

ΪʲôҪʹÓÃkeepalive?

ÎÒÃǶ¼ÖªµÀHTTPÊÇÒ»ÖÖÎÞ״̬ЭÒ飬¿Í»§¶ËÏò·þÎñ¶Ë·¢ËÍÒ»¸öTCPÇëÇ󣬷þÎñ¶ËÏìÓ¦Íê±Ïºó¶Ï¿ªÁ¬½Ó¡£

ÈçºÎ¿Í»§¶ËÏò·þÎñ¶Ë·¢ËͶà¸öÇëÇó£¬Ã¿¸öÇëÇó¶¼ÐèÒªÖØÐ´´½¨Ò»´ÎÁ¬½Ó£¬Ð§ÂÊÏà¶ÔÀ´Ëµ±È½Ï¶à£¬Ê¹ÓÃkeepaliveģʽ£¬¿ÉÒÔ¸æËß·þÎñÆ÷¶ËÔÚ´¦ÀíÍêÒ»¸öÇëÇóºó±£³ÖÕâ¸öTCPÁ¬½ÓµÄ´ò¿ª×´Ì¬£¬Èô½ÓÊÕµ½À´×ÔÕâ¸ö¿Í»§¶ËµÄÆäËûÇëÇ󣬷þÎñ¶Ë¾Í»áÀûÓÃÕâ¸öδ±»¹Ø±ÕµÄÁ¬½Ó£¬¶ø²»ÐèÒªÖØÐ´´½¨Ò»¸öÐÂÁ¬½Ó£¬ÌáÉýЧÂÊ£¬µ«ÊÇÕâ¸öÁ¬½ÓÒ²²»ÄÜÒ»Ö±±£³Ö£¬ÕâÑùµÄ»°£¬Á¬½ÓÈç¹û¹ý¶à£¬Ò²»áÊÇ·þÎñ¶ËµÄÐÔÄÜϽµ£¬Õâ¸öʱºò¾ÍÐèÒªÎÒÃǽøÐÐÉèÖÃÆäµÄ³¬Ê±Ê±¼ä¡£

Óï·¨ keepalive_timeout time;
ĬÈÏÖµ keepalive_timeout 75s;
λÖà http¡¢server¡¢location

(3)keepalive_requests:ÓÃÀ´ÉèÖÃÒ»¸ökeep-aliveÁ¬½ÓʹÓõĴÎÊý¡£

Óï·¨ keepalive_requests number;
ĬÈÏÖµ keepalive_requests 100;
λÖà http¡¢server¡¢location

server¿éºÍlocation¿é

server¿éºÍlocation¿é¶¼ÊÇÎÒÃÇÒªÖØµã½²½âºÍѧϰµÄÄÚÈÝ£¬ÒòΪÎÒÃǺóÃæ»á¶ÔNginxµÄ¹¦ÄܽøÐÐÏêϸ½²½â£¬ËùÒÔÕâ¿éÄÚÈݾͷŵ½¾²Ì¬×ÊÔ´²¿ÊðµÄµØ·½¸ø´ó¼ÒÏêϸ˵Ã÷¡£

±¾½ÚÎÒÃÇÖ÷ÒªÀ´ÈÏʶÏÂNginxĬÈϸøµÄnginx.confÖеÄÏà¹ØÄÚÈÝ£¬ÒÔ¼°server¿éÓëlocation¿éÔÚʹÓõÄʱºòÐèҪעÒâµÄһЩÄÚÈÝ¡£

server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
       
        error_page   500 502 503 504 404  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

½«±¾Ò³ÃæÁ´½Óhttp://www.itcast.cn/news/20210716/1458419603.shtml·¢Ë͸øQQ£º435946716£¬Ãâ·Ñ»ñÈ¡ÉÏÃæ¿Î³ÌÈ«Ì×ÊÓÆµ¡¢±Ê¼ÇºÍÔ´Âë¡£



²ÂÄãϲ»¶£º

NginxÊÓÆµ½Ì³ÌÏÂÔØ

nginxÅäÖÃÎļþÏê½â

JavaÖÐfinal¹Ø¼ü×ÖÈçºÎʹÓã¿

JavaÖÐvolatile¹Ø¼ü×ÖÓÐʲô×÷Óã¿

ÀÖÓãµç¾ºjava¿ª·¢Åàѵ¿Î³Ì

0 ·ÖÏíµ½£º
ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿