ÔÚLinuxϵͳÉÏÅäÖÃNginx£¬²»½ö¿ÉÒÔÌáÉýWeb·þÎñÆ÷µÄÐÔÄÜ£¬»¹ÄÜͨ¹ý·´Ïò´úÀí¡¢¸ºÔؾùºâµÈ¹¦ÄÜÔöÇ¿ÍøÕ¾µÄ¿ÉÓÃÐԺͰ²È«ÐÔ
±¾ÎĽ«Ïêϸ½éÉÜÈçºÎÔÚLinuxϵͳÉϰ²×°¡¢ÅäÖÃNginx£¬²¢¸½´øÒ»Ð©¸ß¼¶ÅäÖÃʾÀý
Ò»¡¢°²×°Nginx 1. ÏÂÔØNginx°²×°°ü Ê×ÏÈ£¬Ç°ÍùNginx¹ÙÍøÏÂÔØËùÐè°æ±¾µÄ°²×°°ü
NginxµÄ¹Ù·½ÍøÕ¾ÌṩÁ˸÷¸ö°æ±¾µÄÏÂÔØÁ´½Ó£¬¿ÉÒÔ¸ù¾ÝÐèҪѡÔñ×îа汾»òÎȶ¨°æ±¾
Èç¹ûLinuxϵͳÁªÍø£¬¿ÉÒÔÖ±½ÓʹÓÃwgetÃüÁîÏÂÔØ
wget http://nginx.org/download/nginx-1.24.0.tar.gz Èç¹ûϵͳÖÐûÓа²×°wget£¬ÐèÒªÏȽøÐа²×°£¬ÀýÈçÔÚCentOSϵͳÉÏ¿ÉÒÔʹÓÃÒÔÏÂÃüÁ yum install -y wget 2. °²×°NginxÏà¹ØÒÀÀµ ÔÚ±àÒë°²×°Nginx֮ǰ£¬ÐèÒª°²×°Ò»Ð©±ØÒªµÄÒÀÀµ°ü
ÕâЩÒÀÀµ°ü°üÀ¨gcc-c++¡¢zlib¡¢zlib-devel¡¢openssl¡¢openssl-develºÍpcre¡¢pcre-develµÈ
ÔÚÏß»·¾³Ï£¬¿ÉÒÔÖ±½ÓʹÓÃyumÃüÁî½øÐа²×°£º yum install -y gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel Èç¹ûÊÇÀëÏß»·¾³£¬ÔòÐèÒªÏÂÔØÕâЩÒÀÀµ°üµÄ°²×°°ü£¬È»ºó½âѹ²¢°²×°
3. ±àÒë°²×°Nginx ÏÂÔØ²¢°²×°ÍêÒÀÀµ°üºó£¬¿ÉÒÔ¿ªÊ¼±àÒë°²×°Nginx
Ê×ÏȽâѹÏÂÔØµÄNginx°²×°°ü£º tar -zxvf nginx-1.24.0.tar.gz È»ºó½øÈë½âѹºóµÄĿ¼£¬Ö´ÐÐÅäÖýű¾£º cd nginx-1.24.0 ./configure --prefix=/usr/local/nginx Èç¹ûÅäÖýű¾±¨´íÌáʾȱÉÙC±àÒëÆ÷£¬¿ÉÒÔ°²×°gccºÍgcc-c++£º yum -y install gcc gcc-c++ autoconf automake make ÅäÖóɹ¦ºó£¬Ê¹ÓÃmakeÃüÁî½øÐбàÒëºÍ°²×°£º make && make install ±àÒë°²×°Íê³Éºó£¬Nginx»á×Ô¶¯´´½¨±ØÒªµÄÎļþºÍĿ¼£¬°üÀ¨ÅäÖÃÎļþ¡¢ÈÕÖ¾ÎļþµÈ£¬Ä¬ÈÏλÓÚ/usr/local/nginxĿ¼ÏÂ
¶þ¡¢Æô¶¯ÓëÍ£Ö¹Nginx 1. Æô¶¯Nginx ½øÈëNginxµÄ°²×°Ä¿Â¼£¬Ö´ÐÐÆô¶¯½Å±¾£º cd /usr/local/nginx/sbin ./nginx -c /usr/local/nginx/conf/nginx.conf Ò²¿ÉÒÔÖ±½ÓʹÓþø¶Ô·¾¶Æô¶¯Nginx£º /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf Æô¶¯ºó£¬¿ÉÒÔʹÓÃÒÔÏÂÃüÁî¼ì²éNginxÊÇ·ñ³É¹¦Æô¶¯£º ps -ef | grep nginx Èç¹ûNginx³É¹¦Æô¶¯£¬¿ÉÒÔͨ¹ýä¯ÀÀÆ÷·ÃÎÊ·þÎñÆ÷µÄIPµØÖ·»òÓòÃû£¨Ä¬È϶˿ÚΪ80£©À´ÑéÖ¤NginxÊÇ·ñÕý³£¹¤×÷
2. Í£Ö¹Nginx Í£Ö¹NginxµÄÃüÁîÈçÏ£º /usr/local/nginx/sbin/nginx -s stop Ò²¿ÉÒÔʹÓÃϵͳ·þÎñÃüÁîÍ£Ö¹Nginx£¨Èç¹ûÒѽ«NginxÅäÖÃΪϵͳ·þÎñ£©£º systemctl stop nginx 3. ÖØÐ¼ÓÔØÅäÖà ÐÞ¸ÄNginxÅäÖÃÎļþºó£¬ÐèÒªÖØÐ¼ÓÔØÅäÖÃʹÆäÉúЧ
¿ÉÒÔʹÓÃÒÔÏÂÃüÁîÖØÐ¼ÓÔØÅäÖ㺠/usr/local/nginx/sbin/nginx -s reload »òÕßʹÓÃϵͳ·þÎñÃüÁîÖØÐ¼ÓÔØÅäÖ㺠systemctl reload nginx Èý¡¢ÅäÖÃNginx NginxµÄÅäÖÃÎļþͨ³£Î»ÓÚ/usr/local/nginx/conf/nginx.conf£¨Ô´Âë±àÒë°²×°£©»ò/etc/nginx/nginx.conf£¨°ü¹ÜÀíÆ÷°²×°£©
NginxµÄÅäÖÃÎļþ²ÉÓÃÄ£¿é»¯Éè¼Æ£¬°üº¬¶à¸öÉÏÏÂÎÄ£¨context£©£¬Ã¿¸öÉÏÏÂÎ͍ÒåÁËÒ»×éÏà¹ØµÄÅäÖÃÖ¸Áî
1. È«¾Ö¿é È«¾Ö¿éÊÇNginxÅäÖÃÎļþµÄ¿ªÊ¼²¿·Ö£¬Ö÷ÒªÉèÖÃһЩӰÏìNginx·þÎñÆ÷ÕûÌåÔËÐеÄÅäÖÃÖ¸Á°üÀ¨ÅäÖÃÔËÐÐNginx·þÎñÆ÷µÄÓû§£¨×飩¡¢ÔÊÐíÉú³ÉµÄworker processÊý¡¢½ø³ÌPID´æ·Å·¾¶¡¢ÈÕÖ¾´æ·Å·¾¶ºÍÀàÐÍÒÔ¼°ÅäÖÃÎļþµÄÒýÈëµÈ
user nginx; worker_processes auto; error_log /var/log/nginx/error.log warn; pid /run/nginx.pid; 2. events¿é events¿é¶¨ÒåʼþÄ£¿éµÄÅäÖã¬Ó°ÏìNginxµÄ²¢·¢´¦ÀíÄÜÁ¦
Ö÷ÒªÅäÖÃÖ¸Áî°üÀ¨worker_connections£¨Ö¸¶¨Ã¿¸ö¹¤×÷½ø³ÌµÄ×î´ó²¢·¢Á¬½ÓÊý£©ºÍuse£¨Ö¸¶¨Ê¼þÄ£ÐÍ£¬Í¨³£Ê¹ÓÃĬÈÏÖµ¼´¿É£©
events { worker_connections 1024; use epoll; } 3. http¿é http¿é¶¨ÒåHTTPÄ£¿éµÄÅäÖ㬰üº¬È«¾ÖHTTPÅäÖúÍÐéÄâÖ÷»úÅäÖÃ
Ö÷ÒªÅäÖÃÖ¸Áî°üÀ¨include£¨°üº¬ÆäËûÅäÖÃÎļþ£©¡¢default_type£¨Ö¸¶¨Ä¬ÈϵÄMIMEÀàÐÍ£©¡¢sendfile£¨ÆôÓÃsendfileϵͳµ÷Óã¬Ìá¸ß¾²Ì¬Îļþ´«ÊäЧÂÊ£©¡¢keepalive_timeout£¨Ö¸¶¨³¤Á¬½ÓµÄ³¬Ê±Ê±¼ä£©ºÍgzip£¨ÆôÓÃGzipѹËõ£¬¼õÉÙ´«ÊäÊý¾ÝÁ¿£©µÈ
http { include /etc/nginx/mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; gzip on; include /etc/nginx/conf.d/.conf; include /etc/nginx/sites-enabled/; } 4. server¿é server¿é¶¨ÒåÐéÄâÖ÷»úµÄÅäÖã¬Ã¿¸öÐéÄâÖ÷»ú¿ÉÒÔ¶ÀÁ¢ÅäÖò»Í¬µÄÓòÃû¡¢¶Ë¿ÚºÍĿ¼
Ö÷ÒªÅäÖÃÖ¸Áî°üÀ¨listen£¨Ö¸¶¨¼àÌýµÄ¶Ë¿ÚºÍIPµØÖ·£©¡¢server_name£¨Ö¸¶¨ÐéÄâÖ÷»úµÄÖ÷»úÃû£©¡¢root£¨Ö¸¶¨ÐéÄâÖ÷»úµÄ¸ùĿ¼£©¡¢index£¨Ö¸¶¨Ä¬ÈϵÄË÷ÒýÎļþ£©ºÍerror_page£¨Ö¸¶¨´íÎóÒ³ÃæµÄ·¾¶£©µÈ
server { listen 80; server_name example.com www.example.com; root /var/www/example.com; index index.html index.htm; error_page 404 /404.html; location/ { root /var/www/example.com; index index.html index.htm; } location /static/ { alias /var/www