http://panweizeng.com
http://meituan.com
http://meituan.com hosts
http://meituan.com hosts localhost 127.0.0.1
/etc/nsswitch.conf /etc/hosts /etc/resolv.conf
Mail Client Web Browser cache 1-30mins Clients Programs Your Computer
Mail Client Web Browser cache 1-30mins hosts Clients Programs Your Computer
Mail Client Web Browser cache 1-30mins Clients Programs hosts DNS Resolver local cache Your Computer
Mail Client Web Browser cache 1-30mins Clients Programs hosts DNS Resolver local cache Your Computer
Your Computer
Local Name Server / Your ISP 1 Your Computer
Local Name Server / Your ISP 2 Root Name Server 1 Your Computer
Local Name Server / Your ISP 2 Root Name Server 1 Your Computer
Local Name Server / Your ISP 2 Root Name Server 3 Com Name Server 1 Your Computer
Local Name Server / Your ISP 2 Root Name Server 3 Com Name Server 1 Your Computer
Local Name Server / Your ISP 2 Root Name Server 3 Com Name Server 4 1 Meituan Name Server Your Computer
Local Name Server / Your ISP 2 Root Name Server 3 Com Name Server 4 1 Meituan Name Server Your Computer
Local Name Server / Your ISP 2 Root Name Server 3 Com Name Server 4 1 5 Meituan Name Server Your Computer
Local Name Server / Your ISP 2 Root Name Server 3 Com Name Server 4 1 5 Meituan Name Server 6 Your Computer Meituan Web Server
meituan.com www.meituan.com
dig meituan.com dig +trace meituan.com dig www.meituan.com dig s0.meituan.com
HTTP Hypertext Transfer Protocol
HTTP Hypertext Transfer Protocol HTTP
HTTP Hypertext Transfer Protocol HTTP
client server
request client server
request client server response
GET /path/to/file/index.html HTTP/1.0
HTTP/1.0 200 OK
404 Not Found 500 Server Error
301 Moved Permanently 302 Moved Temporarily 304 Not Modified 401 Unauthorized 403 Forbidden 502 Bad Gateway
Request Headers Host: www.meituan.com User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
AJAX X-Requested-With: XMLHttpRequest
Response Headers Server: nginx Date: Mon, 20 Jun 2011 09:12:11 GMT Content-Type: application/json; charset=utf-8; Content-Length: 138
cookie session
Apache HTTP Server
sudo /etc/init.d/httpd start sudo /etc/init.d/httpd stop sudo /etc/init.d/httpd restart/graceful
Mac sudo apachectl start
/etc/httpd/conf/http.conf /etc/http/conf/vm/*
ServerRoot "/etc/httpd" DocumentRoot "/opt/www/webroot" Listen 80
User apache Group apache LoadModule php5_module /usr/lib64/ httpd/modules/libphp5.so
DirectoryIndex index.php index.html AccessFileName.htaccess ErrorLog /opt/logs/error_log ErrorDocument 404 /not-found.html
<Directory /> Options FollowSymLinks Indexes AllowOverride None </Directory>
<VirtualHost *:80> ServerName www.xpmt.com ServerAlias *.xpmt.com DocumentRoot /home/panweizeng/mt/webroot RewriteEngine on RewriteRule ^/(static\/.*)$ /$1 [L] RewriteRule ^/(.*)$ /index.php [L] </VirtualHost>
<VirtualHost *:80> ServerName xpmt.com RewriteEngine On RewriteRule ^/(.*)$ http://www.xpmt.com/$1 [L,R] </VirtualHost>
Nginx HTTP server load balancer
apache
nginx ngnix
ngnix nginx apache apache... apache apache
PHP Framework
where to start apache config webroot/index.php
index.php if ($redirectto = checksource()) { header("location: $redirectto"); die; } ControllerFront::getInstance()->dispatch();
ControllerFront::importConf router config URL
dispatch URL Request ControllerAction::runAction
runaction Action Plugin
classes/*
Core.php Obj.php DBObj.php DB.php
Cookie.php Session.php Cache.php
Debug.php Log.php Loader.php
Request.php Response.php
ControllerFront.php ControllerAction.php ControllerActionPlugin.php ControllerBusiness.php
prepend.php(php -i grep prepend) /opt/www.config/prepend.php prepend.php ~/mt/config/prepend.php config/*
prepend.php ROOT/TS/DOMAIN_HOST include_path Debug autoload
autoload Loader::registerAutoload Loader::load class/model/controller/helper
http://bj.meituan.com/deal/959830.html http://bj.meituan.com/deals/page2
Macbook apache+php +mysql mini web framework php/python/ ruby router dispatcher orm