当前位置: 首页 > 科技观察

DNMP架构的使用与未来

时间:2023-03-11 20:13:41 科技观察

序言之后,我心中的石头终于落了地。这是我第一次谈直播。尴尬的是提问的人比较少,都是自言自语,说的内容很多,也很复杂,但是基本涵盖了self的大部分路径和结构-学习。非常感谢参与的同学,希望我们有机会多交流。关于docker第一次了解docker是在一个同事的耳边。起初我以为这是一项新技术。我听说这是一项新技术。对新技术的态度一直是,如果我的开发有更快的提升,我一般都会用。恰好docker就是这样的提速技术。docker的架构这是我搜集资料时看到的一张图,很经典的docker+nginx+mysql+php镜像(类似于安装包的存在)dockerpullmysql:5.6dockerpullphp:7.0-fpmdockerpullngixn:1.10.3加载后,你可以使用dockerimages查看当前加载的镜像,也可以使用dockerrmixxID删除镜像容器(类似文件目录,但各自独立)。容器设置非常经典,所有模块都被视为一个封闭的系统。看看吧,就是用ip来通讯。网上说它高内聚低耦合,非常适合容器的快速开发、新建和启动。/nginx/www/html:/var/www/html-p9000:9000--linkxy_mysql:mysql--namexy_phpfpmphp:7.0-fpmdockerrun-d-p80:80--namexy_nginx-v/var/nginx/www/html:/var/www/html--linkxy_phpfpm:phpfpm-v/etc/docker/myNginx/nginx.conf:/etc/nginx/nginx.conf:ro-v/etc/docker/myNginx/conf.d:/etc/nginx/conf.d--namexy_nginxnginx:1.10.3记住,顺序不能乱,因为链接是一个接一个的。如果其中一个坏了,就不能正常运行。注意第一个“-v”是项目的位置,把项目放在挂载的目录下即可;第二个“-v”是挂载文件“nginx.conf”的主要配置,注意有一行“include/etc/nginx/conf.d/*.conf;”在“nginx.conf”文件中,这个include指向子配置文件的路径,这里注意inc路德走的路一定不会错。第三个“-v”也是挂载docker中子配置文件的路径。注意一定要和(2)中include指向的路径一致。强调nginx.conf是链接一个文件加载的(docker不推荐使用这种方式),conf.d挂载一个目录。执行第一次运行时,本地目录必须有配置好的配置文件,否则运行nginx会失败。参数说明-d让容器在后台运行-p添加主机到容器的端口映射-v添加目录映射,这里nginx容器的根目录***写的和php容器中的根目录一样.但它不必完全相同。如果不一样,在配置nginx时需要注意容器的名字-link来与另一个容器建立连接。容器的基本操作-it(id/name)某id和nginx-sreload再次生效配置postscriptdocker是新技术,已经改进的很好。在传统的开发过程中,每个人的环境都不一样。在不同的电脑上运行同一个项目是非常烦人的,而且经常容易出现死机的情况。测试环境与线上环境的差距导致难以同步,但有了docker,一切都变得简单清爽。这是一项值得掌握的技术。至少可以立刻加快团队的发展速度。是一项非常值得推广的技术。nginx中default.conf配置server{listen80;server_namelocalhost;error_page500502503504/50x.html;location=/50x.html{root/usr/share/nginx/html;}#proxythePHPscriptstoApachelisteningon127.0.0.1:80##location~\.php${#proxy_passhttp://127.0.0.1;#}#passthePHPscriptstoFastCGIserverlisteningon127.0.0.1:9000#location~\.php${#root/var/www/html;#fastcgi_pass172.17.0.3:9000;#fastcgi_indexindex.php;#fastcgi_paramSCRIPT_FILENAME$document_root$fastcdi_script_name;#includefastcgi_params;#}location~\.php${fastcgi_pass172.17.0.3:9000;fastcgi_indexindex.php;fastcgi_paramSCRIPT_FILENAME/var/www/html$fastcgi_script_name;fastcgi_paramSCRIPT_NAME_paramcincludgi_fast;}#denyaccessto.htaccessfiles,ifApache的documentroot#concurswithnginx'sone##location~/\.ht{#denyall;#}}