工资条显示交交社保和养老保险险385元,而社保网站显示交社保和养老保险险交282.5元,这二者不一样,该如何维权?

与大家分享余光中先生&br&《今生今世》&br&&br&我最忘情的哭声有两次
&br&&br&一次在我生命的开始&br&一次在你生命的告终&br&&br&第一次我不会记得&br&是听你说的&br&第二次你不会晓得&br&我说也没用 &br&&br&但两次哭声的中间啊&br&有无穷无尽的笑声 &br&一遍一遍又一遍&br&&br&回荡了整整三十年&br&你都晓得&br&我都记得。
与大家分享余光中先生 《今生今世》 我最忘情的哭声有两次 一次在我生命的开始 一次在你生命的告终 第一次我不会记得 是听你说的 第二次你不会晓得 我说也没用 但两次哭声的中间啊 有无穷无尽的笑声 一遍一遍又一遍 回荡了整整三十年 你都晓得 我都记得。
&figure&&img src=&https://pic3.zhimg.com/v2-e457ed077d2d3fc053ff_b.jpg& data-rawwidth=&1300& data-rawheight=&867& class=&origin_image zh-lightbox-thumb& width=&1300& data-original=&https://pic3.zhimg.com/v2-e457ed077d2d3fc053ff_r.jpg&&&/figure&&p&VXLAN(Virtual eXtensible Local Area Network)或许是目前最热门的网络虚拟化技术。网络虚拟化是指在一套物理网络设备上虚拟出多个二层网络。VXLAN由RFC7348定义,这是2014年定稿的一个协议,VXLAN协议将Ethernet帧封装在UDP内,再加上8个字节的VXLAN header,用来标识不同的二层网络。&/p&&p&同样是网络虚拟化技术的VLAN(Virtual Local Network)在1998年就提出了第一稿,并且得到广泛的应用,VLAN直接在Ethernet帧的头部加上4个字节的VLAN Tag,用来标识不同的二层网络。VLAN已经在大部分的网络设备和操作系统中得到了支持,它处理起来也比较简单,在读取Ethernet数据的时候,只需要根据EtherType相应的偏移4个字节就行。相比之下,VXLAN因为提出的较晚,在设备上的支持率不如VLAN,而且,VXLAN数据的封装解封装,要比VLAN复杂的多。看起来没理由VXLAN抢占VLAN的地位,但是现实却不是如此,那究竟是什么原因导致的呢?&/p&&h2&&b&VXLAN协议&/b&&/h2&&p&我们先来看看VXLAN协议,前面说过,VXLAN是将Ethernet Frame封装在UDP包里面,具体的协议格式如下。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-5bfccdd5b7a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&600& data-rawheight=&389& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic3.zhimg.com/v2-5bfccdd5b7a_r.jpg&&&/figure&&p&除了常规的各层的header之外,VXLAN协议定义了8个字节的VXLAN Header。其中的24bit用来标识不同的二层网络,这样总共可以标识1600多万个不同的二层网络。一般的传输层端口号用来标识进程或者应用,但是在VXLAN协议里面的,Ethernet Frame封装在UDP里面,UDP的source port被用来在ECMP或者LACP做负载均衡;destination port被用来标识VXLAN数据,IANA(Internet Assigned Numbers Authority)分配给VXLAN的端口号是4789。VXLAN数据是经过VTEP(VXLAN Tunnel EndPoint)封装和解封装的,相应的VXLAN数据的外层IP地址就是VTEP的IP地址。最外层的MAC地址用来实现VTEP之间的数据传递。&/p&&p&VXLAN与VLAN的最大区别在于,VLAN只是修改了原始的Ethernet Header,但是整个网络数据包还是原来那个数据包,而VXLAN是将原始的Ethernet Frame隐藏在UDP数据里面。经过VTEP封装之后,在网络线路上看起来只有VTEP之间的UDP数据传递,原始的网络数据包被掩盖了。&/p&&p&VXLAN并不是凭空出现,这种在UDP里面封装网络数据的做法,在VXLAN之前就已经存在,例如OTV(Overlay Transport Virtualization)和LISP(Locator/ID Separation Protocol&b&)。&/b&&/p&&h2&&b&为什么要VXLAN?&/b& &/h2&&p&相比VLAN,VXLAN显得复杂很多。再加上VLAN的先发优势,已经得到了广泛的支持。那为什么还要VXLAN?&/p&&p&&b&&i&VLAN ID数量限制&/i&&/b&&/p&&p&&b&&i&--&/i&&/b&&/p&&p&首先是VLAN能支持的二层网络数量有限。VLAN Tag总共4个字节,其中有12bit用来标识不同的二层网络,这样总共是4000多个。而VXLAN header有8个字节,有24bit用来标识不同的二层网络,这样总共是1600多万个。这或许是知名度最高的一条原因。但这是最根本的原因吗?VLAN自身也有一些相关的协议,其中QinQ(IEEE 802.1 ad)定义在Ethernet头部加上2个VLAN Tag,这样总共也可以由12+12=24bit的数据用来标识不同的二层网络。如果仅仅是因为能支持的二层网络数量有限,只需要在现有的VLAN设备上做一些改动,直接用QinQ就好了。所以,选用VXLAN一定还有其他原因。&/p&&p&&i&&b&TOR交换机MAC地址表限制&/b&&/i&&/p&&p&&i&&b&--&/b&&/i&&/p&&p&数据中心的虚拟化给网络设备带来的最直接影响就是:之前TOR(Top Of Rack)交换机的一个端口连接一个物理主机对应一个MAC地址,但现在交换机的一个端口虽然还是连接一个物理主机但是可能进而连接几十个甚至上百个虚拟机和相应数量的MAC地址。传统交换机是根据MAC地址表实现二层转发。如下图所示,交换机在收到一个数据帧之后,根据VLAN和目的MAC地址,查找到相应的交换机端口,再将数据帧从相应的端口发出。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-6ab3dafedc1c15b231d67_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&720& data-rawheight=&502& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&https://pic4.zhimg.com/v2-6ab3dafedc1c15b231d67_r.jpg&&&/figure&&p&这个MAC地址表是通过交换机的flood-learn学习并记录在交换机的内存。交换机的内存比较宝贵,所以MAC地址表的大小通常是有限的。现在因为虚拟化,整个数据中心的MAC地址多了几十倍,那相应的交换机里面的MAC地址表也需要扩大几十倍。如果交换机不支持这么大的MAC地址表,那么就会导致MAC地址表溢出。溢出之后,交换机不能将新的MAC地址学习到自己的MAC地址表。如果交换机收到这些MAC地址的数据帧,因为不能通过查表转发,会flood到所有的端口。这不但增加了交换机的负担,还增加了网络中其他设备的负担。为了避免这个问题,可以用一些更大容量的交换机,但是相应的成本也要上升,而且还不能从根本上解决这个问题。&/p&&p&如果使用VXLAN,虚拟机的Ethernet Frame被VTEP封装在UDP里面,一个VTEP可以被一个物理主机上的所有虚拟机共用。从交换机的角度,交换机看到的是VTEP之间在传递UDP数据。通常,一个物理主机对应一个VTEP,所以交换机的MAC地址表,只需要记录与物理主机数量相当条目就可以了,虚拟化带来的MAC地址表暴增的问题也不存在了。这是VXLAN能解决的,而现有的VLAN没有办法回避的问题。&/p&&p&&b&&i&灵活的虚机部署和部署&/i&&/b&&/p&&p&&b&&i&--&/i&&/b&&/p&&p&采用VLAN网络的虚拟环境,不存在overlay网络。虚拟机的网络数据,被打上VLAN Tag之后,直接在物理网络上传输,与物理网络上的VLAN是融合在一起的。这样的好处是虚拟机能直接访问到物理网络的设备,但是坏处是,虚拟网络现在不能打破物理网络的限制。比如,如果要在VLAN 100部署虚拟机,那只能在支持VLAN 100的物理设备上部署虚机。通常不同的VLAN网络,会被分配不同的IP地址段,通过路由器或者其他的三层设备连接在一起。设想我有下面一个环境,紫色区域和绿色区域分别对应不同的VLAN网络,紫色区域里面每个服务器已经有10个虚机,绿色区域每个服务器只有2个虚机,紫色区域虽然服务器数量更多,但是总的负担已经够重了。现在因为业务的需求,我们还需要向紫色网络里面部署虚机,因为VLAN网络无法打破物理二层网络的限制,虚机还是只能部署在紫色区域,这明显不合理。&/p&&p&另一方面,就算不部署新的虚拟机,只是对现有的部署做一个优化,将部分虚拟机从紫色区域迁移到绿色区域,因为无法打破物理二层网络的限制,这也是不可行的。因为业务肯定不是平均分配的,那如果采用VLAN网络,极有可能会导致数据中心的利用率分布不均匀。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-5aa91b6df1d8cd86cad8dbd0acb453b1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1078& data-rawheight=&718& class=&origin_image zh-lightbox-thumb& width=&1078& data-original=&https://pic2.zhimg.com/v2-5aa91b6df1d8cd86cad8dbd0acb453b1_r.jpg&&&/figure&&p&VLAN其实有自己的解决办法,如果将所有的交换机Trunk连接起来,那在物理上没有明确的区域区分。但是这样就产生了一个大的二层,相应的BUM(Broadcast,Unknown Unicast,Multicast)和交换机MAC地址表的问题也会随之产生。&/p&&p&如果使用VXLAN呢?因为VXLAN通过UDP传输Ethernet Frame,那相应的可以在一个L3网络上,传递L2的数据。又或者用官方的说法,在一个L3网络上构建了L2网络。物理网络的二层边界还存在,但是现在虚机的网络数据在三层网络传输,可以跨越物理二层网络的限制。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-3c372aa2b3cb1e2d123f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&523& data-rawheight=&341& class=&origin_image zh-lightbox-thumb& width=&523& data-original=&https://pic4.zhimg.com/v2-3c372aa2b3cb1e2d123f_r.jpg&&&/figure&&p&不管物理网络的二层还是三层,虚拟机现在已经感知不到了。通过VXLAN的封装,虚拟机现在走的是一套独立于物理网络(underlay network)的overlay network。这样的话,在物理网络上,就不必把所有的交换机Trunk连起来,还是可以保持一个个小的L2 Pod。但是同时,虚拟机的部署和迁移,又不用受物理网络的限制,整个数据中心可以保持一个平均的利用率。这是另外一个VXLAN能解决,但是VLAN无法回避的问题。&/p&&p&&b&&i&更好的利用多条网络链路&/i&&/b&&/p&&p&--&/p&&p&VLAN协议使用STP(Spanning Tree Protocol)来管理多条线路,STP根据优先级和cost,只会选出一条线路来工作,这样可以避免数据传递的环路。这种主备(active-passive)的模式,比只连接一条线路肯定是有优势,但是对于用户来说,相当于花了N倍的钱,却只用到了1倍的服务。当网络流量较大的时,也不能通过增加线路来提升性能。而VXLAN因为是通过UDP封装,在三层网络上传输。虽然传递的还是二层的Ethernet Frame,但是VXLAN可以利用一些基于三层的协议来实现多条线路共同工作(active-active),以实现负载均衡,例如ECMP,LACP。现在对于用户来说,花了N倍的钱,也用到了N倍的服务。当网络流量较大时,现在可以通过增加线路来减轻现有线路的负担。这在提升数据中心网络性能,尤其是东西向流量的性能时,尤其重要。这是VXLAN相比VLAN,能带来的另一个好处。&/p&&h2&&b&最后&/b&&/h2&&p&所以,尽管VXLAN要复杂一些,提出的晚一些,普及率也要低一些,但是随着数据中心规模的发展和虚拟化的普及,VXLAN逐渐成为构建数据中心网络的趋势。&/p&&p&不过理智点看,VXLAN有这么多优点,在可以预见的未来,还是不能完全替代VLAN。首先VXLAN是一种overlay网络,不能独立存在,必须依赖underlay网络,而在构建underlay网络时,还是需要借助VLAN。其次,这里介绍的VXLAN的优势,都是在大规模环境下,如果你的数据中心的规模,不论虚机还是物理的,就百十台的样子,那直接用VLAN也可以了,没必要上VXLAN。&/p&&p&VXLAN最多是在构建数据中心时的一个选项,而不是唯一的选项。套用马斯洛的“工具法则”:当你只有一个锤子时,任何东西看起来都像是个钉子。在设计数据中心网络时,也应该避免用一种方法解决所有问题,VXLAN,VLAN,BGP,EVPN,OpenStack应该综合考虑。所以在下一篇,我将介绍一下OpenStack中的VXLAN是如何实现的。&/p&
VXLAN(Virtual eXtensible Local Area Network)或许是目前最热门的网络虚拟化技术。网络虚拟化是指在一套物理网络设备上虚拟出多个二层网络。VXLAN由RFC7348定义,这是2014年定稿的一个协议,VXLAN协议将Ethernet帧封装在UDP内,再加上8个字节的VXLAN hea…
&p&&i&摘要:&/i& Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。&/p&&p&作者:驻云科技&/p&&p&原文:&a href=&https://link.zhihu.com/?target=http%3A//click.aliyun.com/m/42002/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&click.aliyun.com/m/4200&/span&&span class=&invisible&&2/&/span&&span class=&ellipsis&&&/span&&/a&&/p&&h2&&b&为什么要用Nginx?&/b&&/h2&&p&目前 Nginx 的主力竞争对手莫过于 Apache ,在这里小编对两者做一个简单的对比,帮助大家更好的理解 Nginx 的优势。&/p&&p&&b&1、作为 Web 服务器:&/b&&/p&&p&相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。在高连接并发的情况下,Nginx是Apache服务器不错的替代品: Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一,能够支持高达 50000 个并发连接数的响应, 感谢Nginx 为我们选择了 epoll and kqueue 作为开发模型。&/p&&p&Nginx作为负载均衡服务器: Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务, 也可以支持作为 HTTP代理 服务器对外进行服务。Nginx采用C进行编写, 不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。&/p&&p&&b&2、Nginx 配置简洁, Apache 复杂:&/b&&/p&&p&Nginx 启动特别容易, 并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动. 你还能够不间断服务的情况下进行软件版本的升级。&/p&&p&Nginx 静态处理性能比 Apache 高 3倍以上,Apache 对 PHP 支持比较简单,Nginx 需要配合其他后端来使用 ,Apache 的组件比 Nginx 多。&/p&&p&&b&3、最核心的区别在于:&/b&&/p&&p&apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程 。&/p&&p&&b&4、两者的擅长领域分别是:&/b&&/p&&p&nginx的优势是处理静态请求,cpu内存使用率低,apache适合处理动态请求,所以现在一般前端用nginx作为反向代理抗住压力,apache作为后端处理动态请求。&/p&&h2&&b&Nginx 基本使用方法&/b&&/h2&&p&系统平台:CentOS release 6.6 (Final) 64位。&/p&&p&&b&一、安装编译工具及库文件&/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-af3bf7517c3d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&508& data-rawheight=&37& class=&origin_image zh-lightbox-thumb& width=&508& data-original=&https://pic4.zhimg.com/v2-af3bf7517c3d_r.jpg&&&/figure&&p&&b&二、首先要安装 PCRE&/b&&/p&&p&1、PCRE 作用是让 Nginx 支持 Rewrite 功能。下载 PCRE 安装包,下载地址: &a href=&https://link.zhihu.com/?target=http%3A//downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&downloads.sourceforge.net&/span&&span class=&invisible&&/project/pcre/pcre/8.35/pcre-8.35.tar.gz&/span&&span class=&ellipsis&&&/span&&/a&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-a6a43de1d57_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&648& data-rawheight=&34& class=&origin_image zh-lightbox-thumb& width=&648& data-original=&https://pic1.zhimg.com/v2-a6a43de1d57_r.jpg&&&/figure&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-8fbca6fdb5d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1080& data-rawheight=&65& class=&origin_image zh-lightbox-thumb& width=&1080& data-original=&https://pic4.zhimg.com/v2-8fbca6fdb5d_r.jpg&&&/figure&&p&2、解压安装包:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-085de1bed4198_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&328& data-rawheight=&40& class=&content_image& width=&328&&&/figure&&p&3、进入安装包目录&/p&&figure&&img src=&https://pic2.zhimg.com/v2-05ed22ce443ebe90cce749f98914fdb9_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&312& data-rawheight=&42& class=&content_image& width=&312&&&/figure&&p&4、编译安装&/p&&figure&&img src=&https://pic3.zhimg.com/v2-14a7f713b29ab1ecd4a0_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&356& data-rawheight=&56& class=&content_image& width=&356&&&/figure&&p&5、查看pcre版本&/p&&figure&&img src=&https://pic4.zhimg.com/v2-d55dad9ae01aa1d986b8_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&348& data-rawheight=&40& class=&content_image& width=&348&&&/figure&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-f47be20e544_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&516& data-rawheight=&43& class=&origin_image zh-lightbox-thumb& width=&516& data-original=&https://pic4.zhimg.com/v2-f47be20e544_r.jpg&&&/figure&&p&&b&三、安装 Nginx&/b&&/p&&p&1、下载 Nginx,下载地址:&a href=&https://link.zhihu.com/?target=http%3A//nginx.org/download/nginx-1.6.2.tar.gz& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&nginx.org/download/ngin&/span&&span class=&invisible&&x-1.6.2.tar.gz&/span&&span class=&ellipsis&&&/span&&/a&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-6a2fbaa43a763ff81873eb6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&464& data-rawheight=&39& class=&origin_image zh-lightbox-thumb& width=&464& data-original=&https://pic2.zhimg.com/v2-6a2fbaa43a763ff81873eb6_r.jpg&&&/figure&&figure&&img src=&https://pic1.zhimg.com/v2-b3fa2ebfcabb3730e82b_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&776& data-rawheight=&77& class=&origin_image zh-lightbox-thumb& width=&776& data-original=&https://pic1.zhimg.com/v2-b3fa2ebfcabb3730e82b_r.jpg&&&/figure&&p&2、解压安装包&/p&&figure&&img src=&https://pic2.zhimg.com/v2-2e4f0f79c53ff886589bcb_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&348& data-rawheight=&39& class=&content_image& width=&348&&&/figure&&p&3、进入安装包目录&/p&&figure&&img src=&https://pic4.zhimg.com/v2-323c27cde8ddab585e2b28_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&280& data-rawheight=&39& class=&content_image& width=&280&&&/figure&&p&4、编译安装&/p&&figure&&img src=&https://pic1.zhimg.com/v2-d5bfbd0450eea59b291648_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&704& data-rawheight=&89& class=&origin_image zh-lightbox-thumb& width=&704& data-original=&https://pic1.zhimg.com/v2-d5bfbd0450eea59b291648_r.jpg&&&/figure&&p&5、查看nginx版本&/p&&figure&&img src=&https://pic3.zhimg.com/v2-ebd0b4e8e59c297b4ebe6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&452& data-rawheight=&42& class=&origin_image zh-lightbox-thumb& width=&452& data-original=&https://pic3.zhimg.com/v2-ebd0b4e8e59c297b4ebe6_r.jpg&&&/figure&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-d2d4c62fdb07a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&744& data-rawheight=&42& class=&origin_image zh-lightbox-thumb& width=&744& data-original=&https://pic2.zhimg.com/v2-d2d4c62fdb07a_r.jpg&&&/figure&&p&到此,nginx安装完成。&/p&&p&&b&四、Nginx 配置&/b&&/p&&p&创建 Nginx 运行使用的用户 www:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-fbeff172a4ae_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&388& data-rawheight=&55& class=&content_image& width=&388&&&/figure&&p&配置nginx.conf ,将/usr/local/webserver/nginx/conf/nginx.conf替换为以下内容&/p&&figure&&img src=&https://pic2.zhimg.com/v2-5addb59fb80d5b30bd5a76be8f6f8eca_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&712& data-rawheight=&1543& class=&origin_image zh-lightbox-thumb& width=&712& data-original=&https://pic2.zhimg.com/v2-5addb59fb80d5b30bd5a76be8f6f8eca_r.jpg&&&/figure&&p&检查配置文件ngnix.conf的正确性命令:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-5b2e1c701f0ace9e2f8ed876f6177aa6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&416& data-rawheight=&41& class=&content_image& width=&416&&&/figure&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-8a7ca16d2f23f78ea925e4a4f838930a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&972& data-rawheight=&63& class=&origin_image zh-lightbox-thumb& width=&972& data-original=&https://pic2.zhimg.com/v2-8a7ca16d2f23f78ea925e4a4f838930a_r.jpg&&&/figure&&p&&b&五、启动 Nginx&/b&&/p&&p&Nginx 启动命令如下:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-8a758ec8deed65da97158_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&404& data-rawheight=&40& class=&content_image& width=&404&&&/figure&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-a0cb4da7cb97f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1080& data-rawheight=&88& class=&origin_image zh-lightbox-thumb& width=&1080& data-original=&https://pic3.zhimg.com/v2-a0cb4da7cb97f_r.jpg&&&/figure&&p&&b&六、访问站点&/b&&/p&&p&从浏览器访问我们配置的站点ip:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-c6aa0b69bfd18db5c75887b1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&988& data-rawheight=&317& class=&origin_image zh-lightbox-thumb& width=&988& data-original=&https://pic1.zhimg.com/v2-c6aa0b69bfd18db5c75887b1_r.jpg&&&/figure&&h2&&b&Nginx 常用指令说明&/b&&/h2&&p&&b&1. main 全局配置&/b&&/p&&p&nginx在运行时与具体业务功能(比如http服务或者email服务代理)无关的一些参数,比如工作进程数,运行的身份等。&/p&&ul&&li&woker_processes 2&br&在配置文件的顶级main部分,worker角色的工作进程的个数,master进程是接收并分配请求给worker处理。这个数值简单一点可以设置为cpu的核数grep ^processor /proc/cpuinfo | wc -l,也是 auto 值,如果开启了ssl和gzip更应该设置成与逻辑CPU数量一样甚至为2倍,可以减少I/O操作。如果nginx服务器还有其它服务,可以考虑适当减少。&/li&&li&worker_cpu_affinity&br&也是写在main部分。在高并发情况下,通过设置cpu粘性来降低由于多CPU核切换造成的寄存器等现场重建带来的性能损耗。如worker_cpu_affinity 00 1000; (四核)。&/li&&li&worker_connections 2048&br&写在events部分。每一个worker进程能并发处理(发起)的最大连接数(包含与客户端或后端被代理服务器间等所有连接数)。nginx作为反向代理服务器,计算公式 最大连接数 = worker_processes * worker_connections/4,所以这里客户端最大连接数是1024,这个可以增到到8192都没关系,看情况而定,但不能超过后面的worker_rlimit_nofile。当nginx作为http服务器时,计算公式里面是除以2。&/li&&li&worker_rlimit_nofile 10240&br&写在main部分。默认是没有设置,可以限制为操作系统最大的限制65535。&/li&&li&use epoll&br&写在events部分。在Linux操作系统下,nginx默认使用epoll事件模型,得益于此,nginx在Linux操作系统下效率相当高。同时Nginx在OpenBSD或FreeBSD操作系统上采用类似于epoll的高效事件模型kqueue。在操作系统不支持这些高效模型时才使用select。&/li&&/ul&&p&&b&2. http服务器&/b&&/p&&p&与提供http服务相关的一些配置参数。例如:是否使用keepalive啊,是否使用gzip进行压缩等。&/p&&ul&&li&sendfile on&br&开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,减少用户空间到内核空间的上下文切换。对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。&/li&&li&keepalive_timeout 65 : 长连接超时时间,单位是秒,这个参数很敏感,涉及浏览器的种类、后端服务器的超时设置、操作系统的设置,可以另外起一片文章了。长连接请求大量小文件的时候,可以减少重建连接的开销,但假如有大文件上传,65s内没上传完成会导致失败。如果设置时间过长,用户又多,长时间保持连接会占用大量资源。&/li&&li&send_timeout : 用于指定响应客户端的超时时间。这个超时仅限于两个连接活动之间的时间,如果超过这个时间,客户端没有任何活动,Nginx将会关闭连接。&/li&&li&client_max_body_size 10m&br&允许客户端请求的最大单文件字节数。如果有上传较大文件,请设置它的限制值&/li&&li&client_body_buffer_size 128k&br&缓冲区代理缓冲用户端请求的最大字节数&/li&&/ul&&p&模块http_proxy:&/p&&p&这个模块实现的是nginx作为反向代理服务器的功能,包括缓存功能(另见文章)&/p&&ul&&li&proxy_connect_timeout 60&br&nginx跟后端服务器连接超时时间(代理连接超时)&/li&&li&proxy_read_timeout 60&br&连接成功后,与后端服务器两个成功的响应操作之间超时时间(代理接收超时)&/li&&li&proxy_buffer_size 4k&br&设置代理服务器(nginx)从后端realserver读取并保存用户头信息的缓冲区大小,默认与proxy_buffers大小相同,其实可以将这个指令值设的小一点&/li&&li&proxy_buffers 4 32k&br&proxy_buffers缓冲区,nginx针对单个连接缓存来自后端realserver的响应,网页平均在32k以下的话,这样设置&/li&&li&proxy_busy_buffers_size 64k&br&高负荷下缓冲大小(proxy_buffers*2)&/li&&li&proxy_max_temp_file_size&br&当proxy_buffers放不下后端服务器的响应内容时,会将一部分保存到硬盘的临时文件中,这个值用来设置最大临时文件大小,默认1024M,它与proxy_cache没有关系。大于这个值,将从upstream服务器传回。设置为0禁用。&/li&&li&proxy_temp_file_write_size 64k&br&当缓存被代理的服务器响应到临时文件时,这个选项限制每次写临时文件的大小。proxy_temp_path(可以在编译的时候)指定写到哪那个目录。&/li&&/ul&&p&proxy_pass,proxy_redirect见 location 部分。&/p&&p&模块http_gzip:&/p&&ul&&li&gzip on : 开启gzip压缩输出,减少网络传输。&/li&&ul&&li&gzip_min_length 1k : 设置允许压缩的页面最小字节数,页面字节数从header头得content-length中进行获取。默认值是20。建议设置成大于1k的字节数,小于1k可能会越压越大。&/li&&li&gzip_buffers 4 16k : 设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。4 16k代表以16k为单位,安装原始数据大小以16k为单位的4倍申请内存。&/li&&li&gzip_http_version 1.0 : 用于识别 http 协议的版本,早期的浏览器不支持 Gzip 压缩,用户就会看到乱码,所以为了支持前期版本加上了这个选项,如果你用了 Nginx 的反向代理并期望也启用 Gzip 压缩的话,由于末端通信是 http/1.0,故请设置为 1.0。&/li&&li&gzip_comp_level 6 : gzip压缩比,1压缩比最小处理速度最快,9压缩比最大但处理速度最慢(传输快但比较消耗cpu)&/li&&li&gzip_types :匹配mime类型进行压缩,无论是否指定,”text/html”类型总是会被压缩的。&/li&&li&gzip_proxied any : Nginx作为反向代理的时候启用,决定开启或者关闭后端服务器返回的结果是否压缩,匹配的前提是后端服务器必须要返回包含”Via”的 header头。&/li&&li&gzip_vary on : 和http头有关系,会在响应头加个 Vary: Accept-Encoding ,可以让前端的缓存服务器缓存经过gzip压缩的页面,例如,用Squid缓存经过Nginx压缩的数据。。&/li&&/ul&&/ul&&p&&b&3. server虚拟主机&/b&&/p&&p&http服务上支持若干虚拟主机。每个虚拟主机一个对应的server配置项,配置项里面包含该虚拟主机相关的配置。在提供mail服务的代理时,也可以建立若干server。每个server通过监听地址或端口来区分。&/p&&ul&&li&listen&br&监听端口,默认80,小于1024的要以root启动。可以为listen *:80、listen 127.0.0.1:80等形式。&/li&&li&server_name&br&服务器名,如localhost、http://www.example.com,可以通过正则匹配。&/li&&/ul&&p&模块http_stream&/p&&p&这个模块通过一个简单的调度算法来实现客户端IP到后端服务器的负载均衡,upstream后接负载均衡器的名字,后端realserver以 host: 方式组织在 {} 中。如果后端被代理的只有一台,也可以直接写在 proxy_pass 。&/p&&p&&b&4. location&/b&&/p&&p&http服务中,某些特定的URL对应的一系列配置项。&/p&&ul&&li&root /var/www/html&br&定义服务器的默认网站根目录位置。如果locationURL匹配的是子目录或文件,root没什么作用,一般放在server指令里面或/下。&/li&&li&index index.jsp index.html index.htm&br&定义路径下默认访问的文件名,一般跟着root放&/li&&li&proxy_pass http:/backend&br&请求转向backend定义的服务器列表,即反向代理,对应upstream负载均衡器。也可以proxy_pass &a href=&https://link.zhihu.com/?target=http%3A//ip& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&ip&/span&&span class=&invisible&&&/span&&/a&:port。&/li&&li&proxy_&br&proxy_set_header Host $&br&proxy_set_header X-Real-IP $remote_&br&proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_&br&这四个暂且这样设,如果深究的话,每一个都涉及到很复杂的内容,也将通过另一篇文章来解读。&/li&&/ul&&p&关于location匹配规则的写法,可以说尤为关键且基础的,参考文章 nginx配置location总结及rewrite规则写法;&/p&&p&&b&5. 其它&/b&&/p&&p&5.1 访问控制 allow/deny&/p&&p&Nginx 的访问控制模块默认就会安装,而且写法也非常简单,可以分别有多个allow,deny,允许或禁止某个ip或ip段访问,依次满足任何一个规则就停止往下匹配。如:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-d6a3aebfd64b34a9c819c136_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&480& data-rawheight=&193& class=&origin_image zh-lightbox-thumb& width=&480& data-original=&https://pic4.zhimg.com/v2-d6a3aebfd64b34a9c819c136_r.jpg&&&/figure&&p&我们也常用 httpd-devel 工具的 htpasswd 来为访问的路径设置登录密码:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-742a139fcd9a6e909f0b3c979afe2eed_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&412& data-rawheight=&147& class=&content_image& width=&412&&&/figure&&p&这样就生成了默认使用CRYPT加密的密码文件。打开上面nginx-status的两行注释,重启nginx生效。&/p&&p&&b&5.2 列出目录 autoindex&/b&&/p&&p&Nginx默认是不允许列出整个目录的。如需此功能,打开nginx.conf文件,在location,server 或 http段中加入,另外两个参数最好也加上去:&/p&&ul&&li&autoindex_exact_ 默认为on,显示出文件的确切大小,单位是bytes。改为off后,显示出文件的大概大小,单位是kB或者MB或者GB&/li&&li&autoindex_&br&默认为off,显示的文件时间为GMT时间。改为on后,显示的文件时间为文件的服务器时间&/li&&/ul&&figure&&img src=&https://pic2.zhimg.com/v2-e971b8f33c7c61a0b998ac75987ab8fc_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&452& data-rawheight=&132& class=&origin_image zh-lightbox-thumb& width=&452& data-original=&https://pic2.zhimg.com/v2-e971b8f33c7c61a0b998ac75987ab8fc_r.jpg&&&/figure&&p&&b&更多技术干货敬请关注云栖社区知乎机构号:&a href=&https://www.zhihu.com/org/a-li-yun-yun-qi-she-qu-48& class=&internal&&阿里云云栖社区 - 知乎&/a&&/b&&/p&
摘要: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度…
&p&我这人就喜欢说点实话而已&/p&&p&【请先点关注+赞后观看,能力有限心血之作】&/p&&p&养老保险:单位每个月为你缴纳21%,你自己缴纳8%;&br&&br&医疗保险:单位每个月为你缴纳9%,你自己缴纳2%外加10块钱的大病统筹(大病统筹主要管住院这块);&br&&br&失业保险:单位每个月为你缴纳2%,你自己缴纳1%;&br&&br&工伤保险:单位每个月为你缴纳0.5%,你自己一分钱也不要缴;&br&&br&生育保险:单位每个月为你缴纳0.8%,你自己一分钱也不要缴;&br&&br&住房公积金:单位每个月为你缴纳8%,你自己缴纳8%&br&&br&以上,这么算下来,单位每个月为你缴纳的社保比例应该是21%+9%+2%+0.5%+0.8%+8%=41.3%&br&&/p&&p&你自己每个月为你缴纳的社保比例应该是8%+2%+10块+1%+8%=19%+10块&br&&br&暂时去掉你交的10块钱不谈,单位缴纳的比例和你缴纳的比例应该为413:190,这就是说如果你每个月为自己的社保缴纳了190块钱,那么单位会往你的社保帐户上打进去413块钱,每个月你的社保帐户上增加的钱就应该是413+190=603块钱&br&&br& 所以说在你看不见的情况下,单位交的社保费用其实是你的2倍还多,所以你每个月交社保费的时候千万别心疼呀~你要知道单位比你交的多得多了呢,心疼的其实是单位。 &br&&br&话&br&说回到那三险一金和五险一金,这里大家应该已经看出来了,其实江湖上所说的三险一金完全就等于五险一金,只是三险一金是从你个人交的保险(养老+医疗+失&br&业+公积金)来说的,五险一金是从你单位交的保险(养老+医疗+失业+工伤+生育+公积金)来说的。把三险一金说成五险一金其实只是说起来好听而已。&br&&br&除了单位能为你交社保,其实没工作但有收入的人员或者有单位但单位不交社保的人员也可以自己交社保,不过个人只能缴纳养老保险+医疗保险,工伤呀生育呀失业呀公积金呀,你个人都交不起来的。&br&&br&&br&&br&&/p&&p&下面介绍下什么是社会保险缴纳基数&br&&br&刚才大家已经知道了每个月单位缴纳的社保比例和你缴纳的比例差不多是413:190了,那么现在又出来一个问题:自己每个月交的社保费和这个比例有什么关系呢,社保费到底是怎么确定的呢?&br&&br&大&br&家可能没注意过,各个省市每年都会在7月初发布一个“社会保险最低缴纳基数”,这个基数是根据上一年度职工的平均工资+福利+各种补贴等杂七杂八的费用经&br&过统计和计算以后确定的,南京今年7月公布的最低基数是1189元,这是个什么意思呢,意思是说南京只要是正规为职工缴纳社保的单位,每个月为每个职工交&br&的钱最少为%=491元,而职工每个月最少要交=236元,这样你和单位每个月应该交的社保费就出来了。&br&&/p&&p&但是现在又出来了新问题,各省市职工工资差别很大呀,有人一个月拿1000,有人一个月能拿10000,难道叫拿1000和拿10000的都交同样的社保费?&br&&br&请&br&注意,这1189是最低基数,在1189之上还有最高基数, &br&南京今年的最高基数好象是8000多,具体我也忘记了,反正如果你的工资每个月在1189元以下,单位也必须按照1189元为你交%=&br&&br&491元,而你自己每个月最少也要交=236元,这个就是1189作为社保最低缴费基数的意义之所在了:哪怕你一个月拿1000或&br&者800块,你每个月最低也必须要按照这1189交钱!&br&&br&但是如果你工资比1189要高,比如你一个月拿3000块,那单位去劳动局给你交&br&保险的时候(你单位和你缴纳的社保费用都是劳动局扣的喔~)就应该对劳动局说:”呀呀,我们这边有位同志一个月拿3000,请按照3000块钱的标准来扣&br&社保费”.那么劳动局就会以3000块为缴纳基数来扣你单位和你的钱然后打到你的社保帐户上,你单位这时候每个月就应该为你交%= &br&1239元,而你个人每个月就该交=580元&br&&br& 就是说如果你的工资在1189元以下,那么每个月你就按照1189交;如果你的工资在1189元以上,那么每个月你就按照你的实际工资交,除非你的工资比最高基数还要高,如果你一个月拿10000而最高基数是8000的话,你和你单位就都按照8000交 &br&&br&在&br&这里要揭露一些公司的无耻做法, &br&这些公司每个月可能给你好几千的工资,但是他们去劳动局申报你的基数的时候并不会按照你的实际工资去报,比如你如果每个月拿3000块,他们去劳动局可能&br&说你只拿1189块,然后劳动局每个月只扣你=236元,你恐怕还高兴的很,因为你觉得扣你的钱少,你实际拿到手的钱多错! &br&&br&如&br&果这样你的公司就太无耻了!因为公司缴纳的钱是你的2倍多,所以你交的越少他们也交的越少!如果按照你的实际工资3000来算,他们每个月该给你交 &br&%=1239元的社保费,而按照1189来算的话,他们每个月只为你交%=491元!所以实际上你吃了大亏!正规的&br&公司只会按照你的实际工资去劳动局申报然后扣钱!只有那些下作的公司才会不管你工资多高都按照最低标准给你交!!&br&&br&千万别以为每个月你的社&br&保费扣的越少越好!!可能你已经被公司无耻地欺负了而你还完全不知情!!!要确定单位为你到底缴纳的基数是多少很简单:如果你每个月扣300块的社保, &br&那你的基数差不多就是300÷19%≈1578元,你看看你工资是不是这个数,如果你工资明显比1578高,比如每个月你其实拿3000或者4000,那&br&肯定你已经被公司给欺负了,被欺负以后你可以去当地的劳动监察大队告你单位,一般一告一个准。&br&&br&不过最好在离职的时候把证据(比如工资条等)找好了再告,否则你告了以后在公司一般混不下去了- -+要再次说明的是,各个地方的社保构成比例不一样,但是肯定不会差太多,比如你的基数可能是20%或22%,但绝对不会是30%或40%! &br&&br&下面介绍一下这些社保费具体是什么情况以及该怎么用&br&&br&前面已经说了, 社会保险=养老保险+医疗保险+工伤保险+生育保险+失业保险+住房公积金&br&&br&&b&1.先说说养老保险好了&/b&&br&&br&这&br&个保险一般都要交满15年以后到退休的时候才能终生享受养老金,所以想拿养老金的同学请务必在自己退休之前的15年以前就开始交,这个在南京以外差不多也&br&是这样规定的如果你到退休年龄交养老保险不满15年,那等到你退休的时候国家会把你个人帐户上存的8%的养老金全部退给你&br&&br& 那你会问,单位给你交的21%到哪里去了?这个你就别指望国家会交给你了,你退休把你个人的钱拿走之后,国家就把单位为你交的21%的钱全部划到国家的养老统筹基金里了,从此这钱就和你再也没有关系了你也许会说:我靠!那是我的钱为什么不给我&br&&/p&&p&&br&&/p&&p&因为国家就是这么规定的&br&&br&退钱的时候只退给个人他自己扣的个人交的钱,单位为他交的钱全部都为国家做贡献了- -&br&&br&下面我们来看一下你退休时候的养老金是怎么算出来的&br&&br&养&br&老金的算法很复杂,因为国家每年都会把缴费基数变一次,举例来说好了:如果你现在30岁,你现在的缴费基数是3000元,而退休年龄如果是55岁的话,那&br&你必须在你40岁以前就开始交养老保险了,而如果你现在从30岁就开始交,交到55岁是25年,那首先肯定你能享受养老金了,其次,如果25年后你交的 &br&3000块的缴费基数已经变成了6000块(我说的是如果),那你55岁的时候首先每个月可以拿到00块的基本养老金,这是国家给&br&你的,此外你的个人帐户上的钱在25年里也积攒了不少,把缴费基数平均一下好了,()÷2=4500,那么你这25年里个人帐户上应该&br&有4500×8%(你缴纳的养老保险的个人比例)×25年×12个月=108000元钱,那么除了之前的1200块以外你每个月还能拿到108000÷ &br&120=900块,这样你55岁开始每个月起码可以拿到0元的养老金,当然每年国家的基数还在往上涨,这样每年除了你自己的 &br&900块,你退休以后每个月都会拿到比1200块更多的钱,那你的养老金当然也会越来越多的&br&&br&&/p&&p&所以说交养老保险交得越多越&br&好,你交得越多你退休以后享受的也越多,而且,国家每年调整基数以后你拿的钱也会越来越多,现在交1000十年之后拿1500都是有可能的这里要介绍一个&br&变态的政策,就是不管你在哪里交社保费,等你退休的时候你都只能回你的户口所在地享受当地的退休待遇,这么来看,在基数高的地方交社保但是退休回基数低的&br&地方享受养老金的人那就亏大了。&br&&br&为什么这么说呢?我来举个例子,如果你年轻的时候在南京工作,交了20年的社保然后退休了,但是如果你的&br&户口在黑龙江,那你必须回黑龙江享受养老金.如果你在南京交了20年的平均基数是3000(我说的是如果),而当你退休的时候黑龙江的缴费基数才&br&1000(我说的是如果),那么你退休的时候只能享受 &br&1000的待遇!这是很亏的!一句话,如果你在富地方交社保但是退休的时候回穷地方享受社保,那你一辈子交的很多但是享受的很少!&br&&br&&/p&&p&交3000&br&&br&块可能只能享受1000块!这是很恐怖的事情,但是没办法,国家就是这个政策,所以请所有目前户口在西部等基数低的地方但是在北京或上海等基数高的地方工&br&作交社保的同学注意了,你要么就在西部交社保,要么就在退休之前把户口迁到北京或上海,否则你就是在做人生一笔巨亏本的买卖&br&&br&那也许你会&br&说,如果我的户口在南京,那我在黑龙江交20年不就好了嘛,在基数低的地方交钱,退休的时候回基数高的地方享受高福利.错!你以为南京市劳动局会随随便便&br&就让你享受么?!一般这种情况下南京会找个理由直接拒绝你转入!到时候你就聪明反被聪明误了:在黑龙江享受不了,在南京也享受不了!不过有些地方对这样的&br&情况有了一些缓和的规定,比如南京允许你在退休前5年从基数低的地方转回南京,再在南京继续交5年南京的高基数,之后它才允许你回南京享受养老金.这个政&br&策各个地方估计都不一样,今后打算转的同学最好现在就去你当地的劳动局把这个问题搞清楚,免得退休时候发生你意想不到的意外!&br&&br&&/p&&p&&b&2.下面说说医疗保险&/b&&br&&br&这&br&个险国家的政策还算不错,重要的是住院报销的不少之前说了单位每月给你交的医疗保险是9%,你个人每月交的医疗保险大概是2%外加10块钱的大病统筹,这&br&个大病统筹不管别的只管你住院,而那11%里国家每个月会往你的医保帐户上打属于你自己的2%,如果你每个月按照1189元的最低基数交社保,那么&br&.78元就是国家每个月打给你个人的钱,这个钱你可以积累起来直接刷卡去买药或者看门诊,剩下的9%国家就拿去算到医疗统筹基金里了&br&&br&按照南京的规定,如果你从2007年1月开始缴纳医疗保险,那么从2007年2月起你就可以刷卡买药或者看门诊了,从2007年7月起你住院的费用就可以报销了,报的还蛮复杂的,举例说好了:&br&&br&如&br&果你日住院了,住的是最好的三级医院,住院期间用的都是医保范围内的药,手术+住院等费用一共花了5000元,那么报销的时候医保中心首&br&先扣除1000块,这是起步价,剩下的4000块医保中心可以报销40元,你个人只要付0元就可以了,加上&br&之前的1000元起步价,你花了5000块自己只要付1560元就可以了,而且这1560元还可以从你的医保卡里扣(如果你平时不怎么用那卡), &br&所以实际上你住院花不了多少钱医疗保险对于我们年轻人来说比养老保险重要多了,毕竟看病住院实在太他妈贵了,这也是参加社会保险最重要的意义之所在不过南&br&京市规定医疗保险必须交满25年才能在退休以后终生享受,所以如果你55岁退休,那最迟30岁起就必须开始交医疗保险了&br&&br&&/p&&p&&b&3.下面说说工伤保险&/b&&br&&br&这个险实践中一般用得少,我接触的也不多,需要提醒大家的是你如果在工作的时候或者上下班的时候出了什么事,这个险就用得上了&br&&br&但&br&是在实践中很多人出了事不注意保存证据,导致自己无法享受工伤保险,这是很可惜的如果你下班的时候被车撞了,那你应该赶快报警,让警察来调查记录并拍照采&br&集证据,警察处理完以后会给你开个事故什么鉴定书之类的东西,你就可以拿这个去单位要求报工伤了如果你出了事就随便让人跑了而且还不找证人还不报警什么&br&的,那没证据的情况下一般不会被采纳为工伤的&br&&br&工伤还有个时效问题,如果你日出了工伤,那你必须马上报告单位,把警察出具&br&的证据和事故鉴定书以及你出工伤以后去看病或住院的病历交给单位,叫单位拿着这些材料去做工伤鉴定,你的单位必须在日之前把你的有效材料&br&送到工伤鉴定中心,如果距离你出工伤的日子超过了一个月, &br&那工伤可能就鉴定不起来了.如果你单位不去给你鉴定,那你自己可以拿着材料去鉴定中心鉴定,最好也不要超过一个月,否则会很麻烦很麻烦&br&&/p&&p&&b&4.下面说说生育保险&/b&&br&&br&这&br&个也举例说明好了,如果你是位女生,每个月工资为1000元,日开始交生育保险,缴费基数为1189,而你2007年3月怀孕,2007&br&年12月底生了孩子,2008年1月出院,那么你出院以后要赶快把结婚证(未婚生子的报销不了)+独生子女证(一般来说生2胎的报销不了)+病历+建大小&br&卡检查和住院和手术费用的所有发票+住院清单+出院小结这些所有的材料交到公司,如果你怀孕时候检查花了500块,生孩子的时候住院+手术花了2000&br&块,一般来说,公司在医保规定范围内基本上可以给你全部报销,报销以后给你的钱包括:500块检查费+2000块住院手术费+1189元/月×4个&br&月=7256块, 1189元/月×4个月这是医保中心特别为报销的女生补贴的,只有女生报销才能拿的到&br&&br&国家规定女孩子报销生育保险的时候必须给4个月的平均工资,所以你生孩子报销的话不仅不要花钱而且还可以赚4个月的工资!如果你基数交的比工资高,比如拿1000块交的是1189,那么你还赚了呢&br&&br& 生育保险起码要交一年才能享受,切记切记&br&&br& 此外还有个问题,男生也交生育保险呀~那么男生可不可以享受生育保险呢?&br&&br&&br&&br&如果你是男生,你老婆没工作或者工作单位没交保险,而她生孩子的时候你交生育保险也已经超过了一年,那么你也可以报销生育保险哦,但是以之前的例子为例,&br&你只能报销500块检查费+2000块住院手术费的一半=1250元, &br&补贴的1189元/月×4个月的工资你就享受不到了!这是只有女生报销的时候才可以享受的哦~同样的花费,女生报销就能拿7256块,男生报销只能拿&br&1250块,这大概也是中国少有的”歧视男性”的政策的说- &br&-+所以说,女生要生孩子之前最好计划一下,提前一年开始找个单位交生育保险,可以赚呢!而男生如果要娶老婆,最好娶一个生孩子的时候已经交了一年生育保&br&险而且缴的基数还比她本身工资高的女生哦!不过如果她实在没保险也没关系,你还可以给她报销生育保险呢,不过你没补贴的4个月工资拿,而且该报的费用你只&br&能拿回来一半。 &br&&br&&b&5.失业保险&/b&&br&&br&失业保险,这个也是要你交满一年才能享受,一般交1年拿2个月,交2年拿4个月,但一辈子最多拿24个月.举例说明好了:&br&&br&如果你日开始交保险,2008年1月你被公司辞退了,那你可以让公司给你拿2个月的失业保险,如果这一年你都是以1189的基数交的保险,那你2个月起码可以拿到800多块钱&br&&br&或&br&者你日开始交保险,2008年1月你和公司合同到期了,你们都不想续签合同的话那你也可以在离开公司以前让公司给你去拿2个月的失业保&br&险,也是800多块就是说合同到期或者公司辞退,你都可以按照一年拿2个月的失业金的比例去要求公司给你办,如果公司不给你办你可以去告它,一告一个准。&br&&br&但是如果你是合同没到期自己辞职走,那就算你交满了1年也享受不到失业保险&br&&br&只要是自己辞职的,别说交1年了,就是交10年的失业保险到辞职的时候你也拿不到一分钱。  
&br&&br&6.住房公积金是个好东西啊&br&&br&这么说吧,如果你每个月为公积金交200块,那么公司每个月也往你帐户上打200块,你买房子的时候这就是400块了,如果你一辈子交了5万,那你帐户上就是10万了,这种好事大家一定不要拒绝啊。&br&&br&公积金可以用来买房子,还贷款,装修什么的,如果你自己家可以找到地皮盖房子,那盖房子的钱也可以从公积金里付&br&&br&如果你一直不用这钱,最后退休的时候貌似可以把钱全部取出来吧&br&&br&&br& 各项补充说明
&br&&br&[size=+0] 来说说和南京不同的地方吧,魔都是不允许不缴医疗保险的,也就是说社保中心这一块包括养老医疗失业工伤生育一起问企业收的,倒是公积金可缴可不缴,因为这是隶属公积金中心的管辖范畴&br&&/p&&p&具体的社保构成比例为:&br&&br&养老保险:单位每个月为你缴纳22%,你自己缴纳8%;&br&&br&医疗保险:单位每个月为你缴纳12%,你自己缴纳2%;&br&&br&失业保险:单位每个月为你缴纳2%,你自己缴纳1%;&br&&br&工伤保险:单位每个月为你缴纳0.5%,你自己一分钱也不要缴;&br&&br&生育保险:单位每个月为你缴纳0.5%,你自己一分钱也不要缴;&br&&br&住房公积金:单位每个月为你缴纳7%,你自己缴纳7%&br&&br&补充住房公积金:单位每个月为你缴纳8%,你自己缴纳8%(这个只有一般效益很好的国企才会有的,且比例又公司自己定,一般公司缴个公积金就算很道义了)&br&&br&另外要说的是社保和个调税的关系,在缴纳个调税的时候,是把个人扣金那部分扣除后再算应纳税基数的,但是有一点要注意,公积金和补充公积金超过12%的部分(个人和企业缴纳部分)也需要算在应纳税基数中&br&&br&比如上面说的公积金7%、补充公积金8%,加起来就是15%,那么个人扣金那3%的部分就要算在应纳税额中,同时,企业的那3%,虽然不是从个人工资里扣除的,但还是要算在应纳税基数中,也就是说,个人要为这笔费用的个调税埋单。&br&&br&医疗保险使用这一块,各地对于划入个人账户的方式不同&br&&br&具体来说是这样的,医保年度是每年的4月1日至次年的3月31日,同时社保缴费基数变更也是在4月上中旬确定。&br&&br&医&br&保局会在4月1日按照每人的社保基数预提1年的个人医保(也就是那2%)进入个人医保卡账户,但这时候就有问题出现了,4月1日的时候,当年的社保基数尚&br&未确立,医保局只能按照上一年的基数来预计当年的个人医保金,那么这个差额该怎么办呢?那就是在第二年的4月1日来补足少算的或扣除多给的&/p&&p&&br&&/p&&p&可能这么大段字看起来会觉得很麻烦,那我们举例来说&br&&br&某人2004年月平均收入5000元,2005年月平均收入4000元,2006年收入6000元&br&&br&医&br&保局在日给个人账户打入金额的时候,社保中心还没有核准2006年的缴费基数(也就是2005年的月平均收入),所以医保局还是按照&br&2005年的缴费基数(也就是2004年的月平均收入)来计算全年的个人账户数额,也就是=1200,&br&&br&但实际上此人这一年的个人账户数额应该是=960,&br&&br&那么这多给的240元会在日的时候扣除。同时日打入帐户的新一年个人金依然是960元(其实应该是=1440元),少给的480元,会在日补回来。&br&&br&所以因为大部分人每年的缴费基数都不相同,所以几乎每个人每年3月的帐户总数和4月时看到的历年帐户的金额是不同的,这就是医保局在做每年的费用核算时产生的。&/p&&p&&br&&/p&&p&工&br&伤还有个时效问题,如果你日出了工伤,那你必须马上报告单位,把警察出具的证据和事故鉴定书以及你出工伤以后去看病或住院的病历交给单&br&位,叫单位拿着这些材料去做工伤鉴定,你的单位必须在日之前把你的有效材料送到工伤鉴定中心,如果距离你出工伤的日子超过了一个月,那工&br&伤可能就鉴定不起来了.如果你单位不去给你鉴定,那你自己可以拿着材料去鉴定中心鉴定,最好也不要超过一个月,否则会很麻烦很麻烦&br&&br&这点有个补充,申报工伤有两种途径,一个是单位申报,就和上面爱说的一样,30天内有效,还有一种是个人申报,一年内有效,但由于伤势或其他原因,拖得越久证据就越不足,个人申报的话也会因为不懂得流程耽误很多时间和精力。&br&&br&生育保险方面,流产的、难产的、多胞胎的、早产的,可以具体看看下面这个链接,虽然是上海的政策,但各地都有相似性。&br&&br&可能上海和南京政策上有不同,公司绝对不会管这方面的报销,都是由医保直接和孕妇挂钩&br&&br&在生育检查生产住院期间,医保统筹范围之内的都是医保统筹支付,当然自费的项目(比如高级病房、自费药etc)还是要自己承担。&br&&br&生好孩子后,自己去医保局申请生育补助,医保局给3000块钱社保那块,再给3个月的缴费基数的收入&br&&br&晚育的加半个月,多胞胎的,多一个加半个月&br&&br&如果上一年月平均工资性收入是大于社保缴费基数上限的,那么社保只支付缴费基数那部分,剩下的由公司支付&br&&br&例如某人上一年月平均工资性收入为10000,社保基数封顶为7392。&br&&br&那么社保给的每月收入为7392,剩下的=2608就是由单位支付。&br&&br&(虽然我觉得这种情况,在云中的各位看官不太容易碰到=。=。。)&/p&&p&&br&&/p&&p&其实关键的地方有两点:&br&&br&1、生育前缴费满1年&br&&br&2、社保缴费基数正常申报&br&&br&所以说同学们,特别是女同学们,不要觉得公司给你申报的基数高低无所谓,甚至为了基数低些自己工资到手高而庆幸,到这时候就看出问题来了吧!&br&&br&这也就是为啥有那么多女职工宁可留在工资低但是社保足额申报的地方生完孩子再跳槽的原因,一来小地方不喜欢未婚未遇的女性员工,二来生育保险也是很大一笔收入补充。&br&&br&比如说,一个人正常工资3000,但是社保基数申报时算上她的年终奖等等其他奖金收入,那么月平均可能达到5000,这时候生孩子的那几个月拿的就是一月5000的收入。&br&&br&如果你一直不用这钱,最后退休的时候貌似可以把钱全部取出来吧 &br&&br&不是貌似,是绝对可以!&br&&br&而且公积金贷款比商业贷款利息低的多,这也是一大好处。&/p&
我这人就喜欢说点实话而已【请先点关注+赞后观看,能力有限心血之作】养老保险:单位每个月为你缴纳21%,你自己缴纳8%; 医疗保险:单位每个月为你缴纳9%,你自己缴纳2%外加10块钱的大病统筹(大病统筹主要管住院这块); 失业保险:单位每个月为你缴纳2%,你自己缴…
&p&&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&每天5分钟玩转Docker容器技术(一)&/a&&/p&&h2&&b&容器核心知识&/b&&/h2&&p&本篇通过 Docker 讨论容器的核心知识。&/p&&h2&概述&/h2&&p&容器核心知识主要回答有关容器 What、Why 和 How 三个问题。其中 How 是重点,将从架构、镜像、容器、网络和存储几个方面进行讲解。&/p&&h2&What - 什么是容器?&/h2&&p&容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。开发人员在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行。&/p&&p&&b&容器与虚拟机&/b&&/p&&p&谈到容器,就不得不将它与虚拟机进行对比,因为两者都是为应用提供封装和隔离。&/p&&p&容器由两部分组成:&/p&&ol&&li&应用程序本身&/li&&li&依赖:比如应用程序需要的库或其他软件&/li&&/ol&&p&容器在 Host 操作系统的用户空间中运行,与操作系统的其他进程隔离。这一点显著区别于的虚拟机。&/p&&p&传统的虚拟化技术,比如 VMWare, KVM, Xen,目标是创建完整的虚拟机。为了运行应用,除了部署应用本身及其依赖(通常几十 MB),还得安装整个操作系统(几十 GB)。&/p&&p&下图展示了二者的区别。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-986f06afa29c4ae97349_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1448& data-rawheight=&758& class=&origin_image zh-lightbox-thumb& width=&1448& data-original=&https://pic2.zhimg.com/v2-986f06afa29c4ae97349_r.jpg&&&/figure&&p&如图所示,由于所有的容器共享同一个 Host OS,这使得容器在体积上要比虚拟机小很多。另外,启动容器不需要启动整个操作系统,所以容器部署和启动速度更快,开销更小,也更容易迁移。&/p&&h2&Why - 为什么需要容器?&/h2&&p&为什么需要容器?容器到底解决的是什么问题? &br&简要的答案是:&b&容器使软件具备了超强的可移植能力&/b&。&/p&&p&&b&容器解决的问题&/b&&/p&&p&我们来看看今天的软件开发面临着怎样的挑战?&/p&&p&如今的系统在架构上较十年前已经变得非常复杂了。以前几乎所有的应用都采用三层架构(Presentation/Application/Data),系统部署到有限的几台物理服务器上(Web Server/Application Server/Database Server)。&/p&&p&而今天,开发人员通常使用多种服务(比如 MQ,Cache,DB)构建和组装应用,而且应用很可能会部署到不同的环境,比如虚拟服务器,私有云和公有云。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-deeb538bbd22cc260bf9bab15aafd23c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1454& data-rawheight=&826& class=&origin_image zh-lightbox-thumb& width=&1454& data-original=&https://pic1.zhimg.com/v2-deeb538bbd22cc260bf9bab15aafd23c_r.jpg&&&/figure&&p&一方面应用包含多种服务,这些服务有自己所依赖的库和软件包;另一方面存在多种部署环境,服务在运行时可能需要动态迁移到不同的环境中。这就产生了一个问题:&/p&&p&&b&如何让每种服务能够在所有的部署环境中顺利运行?&/b&&/p&&p&于是我们得到了下面这个矩阵:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-bf661dd65296b1fad933ce_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1392& data-rawheight=&802& class=&origin_image zh-lightbox-thumb& width=&1392& data-original=&https://pic3.zhimg.com/v2-bf661dd65296b1fad933ce_r.jpg&&&/figure&&p&各种服务和环境通过排列组合产生了一个大矩阵。开发人员在编写代码时需要考虑不同的运行环境,运维人员则需要为不同的服务和平台配置环境。对他们双方来说,这都是一项困难而艰巨的任务。&/p&&p&如何解决这个问题呢?&/p&&p&聪明的技术人员从传统的运输行业找到了答案。&/p&&p&几十年前,运输业面临着类似的问题。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-abe7d272bb_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1510& data-rawheight=&776& class=&origin_image zh-lightbox-thumb& width=&1510& data-original=&https://pic3.zhimg.com/v2-abe7d272bb_r.jpg&&&/figure&&p&每一次运输,货主与承运方都会担心因货物类型的不同而导致损失,比如几个铁桶错误地压在了一堆香蕉上。另一方面,运输过程中需要使用不同的交通工具也让整个过程痛苦不堪:货物先装上车运到码头,卸货,然后装上船,到岸后又卸下船,再装上火车,到达目的地,最后卸货。一半以上的时间花费在装、卸货上,而且搬上搬下还容易损坏货物。&/p&&p&这同样也是一个 NxM 的矩阵。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-7695b7bbcae6be2d070d7b2fdbc215d8_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1492& data-rawheight=&848& class=&origin_image zh-lightbox-thumb& width=&1492& data-original=&https://pic1.zhimg.com/v2-7695b7bbcae6be2d070d7b2fdbc215d8_r.jpg&&&/figure&&p&幸运的是,集装箱的发明解决这个难题。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-fc969a20f90a277b14b7_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1492& data-rawheight=&850& class=&origin_image zh-lightbox-thumb& width=&1492& data-original=&https://pic4.zhimg.com/v2-fc969a20f90a277b14b7_r.jpg&&&/figure&&p&任何货物,无论钢琴还是保时捷,都被放到各自的集装箱中。集装箱在整个运输过程中都是密封的,只有到达最终目的地才被打开。标准集装箱可以被高效地装卸、重叠和长途运输。现代化的起重机可以自动在卡车、轮船和火车之间移动集装箱。集装箱被誉为运输业与世界贸易最重要的发明。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-2aaba26d48cfa52c5fd6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1474& data-rawheight=&466& class=&origin_image zh-lightbox-thumb& width=&1474& data-original=&https://pic3.zhimg.com/v2-2aaba26d48cfa52c5fd6_r.jpg&&&/figure&&p&Docker 将集装箱思想运用到软件打包上,为代码提供了一个基于容器的标准化运输系统。Docker 可以将任何应用及其依赖打包成一个轻量级、可移植、自包含的容器。容器可以运行在几乎所有的操作系统上。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-ade43f23c545ae6b7aeb0_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1424& data-rawheight=&836& class=&origin_image zh-lightbox-thumb& width=&1424& data-original=&https://pic1.zhimg.com/v2-ade43f23c545ae6b7aeb0_r.jpg&&&/figure&&p&其实,“集装箱” 和 “容器” 对应的英文单词都是 “Container”。 &br&“容器” 是国内约定俗成的叫法,可能是因为容器比集装箱更抽象,更适合软件领域的原故吧。&/p&&p&我个人认为:在老外的思维中,“Container” 只用到了集装箱这一个意思,Docker 的 Logo 不就是一堆集装箱吗?&/p&&figure&&img src=&https://pic1.zhimg.com/v2-8bd5ff4f8bdeeebfa4228_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&328& data-rawheight=&302& class=&content_image& width=&328&&&/figure&&p&&br&&/p&&p&&b&Docker 的特性&/b&&/p&&p&我们可以看看集装箱思想是如何与 Docker 各种特性相对应的。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-dc46afd36b7e870e0875fb8_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&885& data-rawheight=&465& class=&origin_image zh-lightbox-thumb& width=&885& data-original=&https://pic1.zhimg.com/v2-dc46afd36b7e870e0875fb8_r.jpg&&&/figure&&p&&b&容器的优势&/b&&/p&&p&对于开发人员 - &b&Build Once, Run Anywhere&/b&&/p&&p&容器意味着环境隔离和可重复性。开发人员只需为应用创建一次运行环境,然后打包成容器便可在其他机器上运行。另外,容器环境与所在的 Host 环境是隔离的,就像虚拟机一样,但更快更简单。&/p&&p&对于运维人员 - &b&Configure Once, Run Anything&/b&&/p&&p&只需要配置好标准的 runtime 环境,服务器就可以运行任何容器。这使得运维人员的工作变得更高效,一致和可重复。容器消除了开发、测试、生产环境的不一致性。&/p&&h2&How - 容器是如何工作的?&/h2&&p&接下来学习容器核心知识的最主要部分。&/p&&p&我们首先会介绍 Docker 的架构,然后分章节详细讨论 Docker 的镜像、容器、网络和存储。&/p&&h2&&b&Docker 架构详解&/b&&/h2&&p&Docker 的核心组件包括:&/p&&ol&&li&Docker 客户端 - Client&/li&&li&Docker 服务器 - Docker daemon&/li&&li&Docker 镜像 - Image&/li&&li&Registry&/li&&li&Docker 容器 - Container&/li&&/ol&&p&Docker 架构如下图所示:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-5aceee88b39cc_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1814& data-rawheight=&950& class=&origin_image zh-lightbox-thumb& width=&1814& data-original=&https://pic2.zhimg.com/v2-5aceee88b39cc_r.jpg&&&/figure&&p&Docker 采用的是 Client/Server 架构。客户端向服务器发送请求,服务器负责构建、运行和分发容器。客户端和服务器可以运行在同一个 Host 上,客户端也可以通过 socket 或 REST API 与远程的服务器通信。&/p&&h2&Docker 客户端&/h2&&p&最常用的 Docker 客户端是 &code&docker&/code& 命令。通过 &code&docker&/code& 我们可以方便地在 Host 上构建和运行容器。&/p&&p&&code&docker&/code& 支持很多操作(子命令),后面会逐步用到。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-871b5264cba0e207c6bc64ab18e4b5e6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1220& data-rawheight=&206& class=&origin_image zh-lightbox-thumb& width=&1220& data-original=&https://pic3.zhimg.com/v2-871b5264cba0e207c6bc64ab18e4b5e6_r.jpg&&&/figure&&p&除了 &code&docker&/code& 命令行工具,用户也可以通过 REST API 与服务器通信。&/p&&h2&Docker 服务器&/h2&&p&Docker daemon 是服务器组件,以 Linux 后台服务的方式运行。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-ea3d47ab1ef79a6b9e1b2_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&882& data-rawheight=&208& class=&origin_image zh-lightbox-thumb& width=&882& data-original=&https://pic3.zhimg.com/v2-ea3d47ab1ef79a6b9e1b2_r.jpg&&&/figure&&p&Docker daemon 运行在 Docker host 上,负责创建、运行、监控容器,构建、存储镜像。&/p&&p&默认配置下,Docker daemon 只能响应来自本地 Host 的客户端请求。如果要允许远程客户端请求,需要在配置文件中打开 TCP 监听,步骤如下:&/p&&p&1.编辑配置文件 /etc/systemd/system/multi-user.target.wants/docker.service,在环境变量 &code&ExecStart&/code& 后面添加 &code&-H tcp://0.0.0.0&/code&,允许来自任意 IP 的客户端连接。
&/p&&figure&&img src=&https://pic2.zhimg.com/v2-9ec3e0b5397c05beb8d02cd_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&768& data-rawheight=&244& class=&origin_image zh-lightbox-thumb& width=&768& data-original=&https://pic2.zhimg.com/v2-9ec3e0b5397c05beb8d02cd_r.jpg&&&/figure&&p&如果使用的是其他操作系统,配置文件的位置可能会不一样。&/p&&p&2.重启 Docker daemon。
&/p&&figure&&img src=&https://pic1.zhimg.com/v2-e82f761a3f2bebfed0e4b0_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&680& data-rawheight=&72& class=&origin_image zh-lightbox-thumb& width=&680& data-original=&https://pic1.zhimg.com/v2-e82f761a3f2bebfed0e4b0_r.jpg&&&/figure&&p&3.服务器 IP 为 192.168.56.102,客户端在命令行里加上 -H 参数,即可与远程服务器通信。
&/p&&figure&&img src=&https://pic1.zhimg.com/v2-1beb6decee36cc0d74bc4_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&628& data-rawheight=&206& class=&origin_image zh-lightbox-thumb& width=&628& data-original=&https://pic1.zhimg.com/v2-1beb6decee36cc0d74bc4_r.jpg&&&/figure&&p&&code&info&/code& 子命令用于查看 Docker 服务器的信息。&/p&&h2&Docker 镜像&/h2&&p&可将 Docker 镜像看成只读模板,通过它可以创建 Docker 容器。&/p&&p&例如某个镜像可能包含一个 Ubuntu 操作系统、一个 Apache HTTP Server 以及用户开发的 Web 应用。&/p&&p&镜像有多种生成方法:&/p&&ol&&li&可以从无到有开始创建镜像&/li&&li&也可以下载并使用别人创建好的现成的镜像&/li&&li&还可以在现有镜像上创建新的镜像&/li&&/ol&&p&我们可以将镜像的内容和创建步骤描述在一个文本文件中,这个文件被称作 Dockerfile,通过执行 &code&docker build &docker-file&&/code& 命令可以构建出 Docker 镜像,后面我们会讨论。&/p&&h2&Docker 容器&/h2&&p&Docker 容器就是 Docker 镜像的运行实例。&/p&&p&用户可以通过 CLI(docker)或是 API 启动、停止、移动或删除容器。可以这么认为,对于应用软件,镜像是软件生命周期的构建和打包阶段,而容器则是启动和运行阶段。&/p&&h2&Registry&/h2&&p&Registry 是存放 Docker 镜像的仓库,Registry 分私有和公有两种。&/p&&p&Docker Hub(&a href=&http://link.zhihu.com/?target=https%3A//hub.docker.com/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&hub.docker.com/&/span&&span class=&invisible&&&/span&&/a&) 是默认的 Registry,由 Docker 公司维护,上面有数以万计的镜像,用户可以自由下载和使用。&/p&&p&出于对速度或安全的考虑,用户也可以创建自己的私有 Registry。后面我们会学习如何搭建私有 Registry。&/p&&p&&code&docker pull&/code& 命令可以从 Registry 下载镜像。
&code&docker run&/code& 命令则是先下载镜像(如果本地没有),然后再启动容器。&/p&&h2&&b&Docker 组件如何协作?&/b&&/h2&&h2&一个完整的例子&/h2&&p&还记得我们运行的第一个容器吗?现在通过它来体会一下 Docker 各个组件是如何协作的。&/p&&p&容器启动过程如下:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-680bbfe4a989d7d6dbae77_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1298& data-rawheight=&476& class=&origin_image zh-lightbox-thumb& width=&1298& data-original=&https://pic4.zhimg.com/v2-680bbfe4a989d7d6dbae77_r.jpg&&&/figure&&ol&&li&Docker 客户端执行 &code&docker run&/code& 命令。&/li&&li&Docker daemon 发现本地没有 httpd 镜像。&/li&&li&daemon 从 Docker Hub 下载镜像。&/li&&li&下载完成,镜像 httpd 被保存到本地。&/li&&li&Docker daemon 启动容器。&/li&&/ol&&p&&code&docker images&/code& 可以查看到 httpd 已经下载到本地。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-c7ebc668ad94d0a9036318e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1250& data-rawheight=&136& class=&origin_image zh-lightbox-thumb& width=&1250& data-original=&https://pic3.zhimg.com/v2-c7ebc668ad94d0a9036318e_r.jpg&&&/figure&&p&&code&docker ps&/code& 或者 &code&docker container ls&/code& 显示容器正在运行。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-8f5eab14028ad0dad25083d1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1878& data-rawheight=&138& class=&origin_image zh-lightbox-thumb& width=&1878& data-original=&https://pic2.zhimg.com/v2-8f5eab14028ad0dad25083d1_r.jpg&&&/figure&&h2&小结&/h2&&p&Docker 借鉴了集装箱的概念。标准集装箱将货物运往世界各地,Docker 将这个模型运用到自己的设计哲学中,唯一不同的是:集装箱运输货物,而 Docker 运输软件。&/p&&p&每个容器都有一个软件镜像,相当于集装箱中的货物。容器可以被创建、启动、关闭和销毁。和集装箱一样,Docker 在执行这些操作时,并不关心容器里到底装的什么,它不管里面是 Web Server,还是 Database。&/p&&p&用户不需要关心容器最终会在哪里运行,因为哪里都可以运行。&/p&&p&开发人员可以在笔记本上构建镜像并上传到 Registry,然后 QA 人员将镜像下载到物理或虚拟机做测试,最终容器会部署到生产环境。&/p&&p&使用 Docker 以及容器技术,我们可以快速构建一个应用服务器、一个消息中间件、一个数据库、一个持续集成环境。因为 Docker Hub 上有我们能想到的几乎所有的镜像。&/p&&p&不知大家是否意识到,潘多拉盒子已经被打开。容器不但降低了我们学习新技术的门槛,更提高了效率。&/p&&p&如果你是一个运维人员,想研究负载均衡软件 HAProxy,只需要执行 &code&docker run haproxy&/code&,无需繁琐的手工安装和配置既可以直接进入实战。&/p&&p&如果你是一个开发人员,想学习怎么用 django 开发 Python Web 应用,执行 &code&docker run django&/code&,在容器里随便折腾吧,不用担心会搞乱 Host 的环境。&/p&&p&不夸张的说:容器大大提升了 IT 人员的幸福指数。&/p&&h2&&b&最小的镜像&/b&&/h2&&p&镜像是 Docker 容器的基石,容器是镜像的运行实例,有了镜像才能启动容器。&/p&&p&本章内容安排如下:&/p&&ol&&li&首先通过研究几个典型的镜像,分析镜像的内部结构。&/li&&li&然后学习如何构建自己的镜像。&/li&&li&最后介绍怎样管理和分发镜像。&/li&&/ol&&h2&镜像的内部结构&/h2&&p&为什么我们要讨论镜像的内部结构?&/p&&p&如果只是使用镜像,当然不需要了解,直接通过 &code&docker&/code& 命令下载和运行就可以了。&/p&&p&但如果我们想创建自己的镜像,或者想理解 Docker 为什么是轻量级的,就非常有必要学习这部分知识了。&/p&&p&我们从一个最小的镜像开始吧。&/p&&p&&b&hello-world - 最小的镜像&/b&&/p&&p&hello-world 是 Docker 官方提供的一个镜像,通常用来验证 Docker 是否安装成功。&/p&&p&我们先通过 &code&docker pull&/code& 从 Docker Hub 下载它。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-cebab16edcd2ea9b230c8bc_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&756& data-rawheight=&214& class=&origin_image zh-lightbox-thumb& width=&756& data-original=&https://pic4.zhimg.com/v2-cebab16edcd2ea9b230c8bc_r.jpg&&&/figure&&p&用 &code&docker images&/code& 命令查看镜像的信息。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-88bb866aa9c2b38cadb5e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1266& data-rawheight=&106& class=&origin_image zh-lightbox-thumb& width=&1266& data-original=&https://pic3.zhimg.com/v2-88bb866aa9c2b38cadb5e_r.jpg&&&/figure&&p&hello-world 镜像竟然还不到 2KB!&/p&&p&通过 &code&docker run&/code& 运行。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-9aed4ea9dc6f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1044& data-rawheight=&138& class=&origin_image zh-lightbox-thumb& width=&1044& data-original=&https://pic3.zhimg.com/v2-9aed4ea9dc6f_r.jpg&&&/figure&&p&其实我们更关心 hello-world 镜像包含哪些内容。&/p&&p&Dockerfile 是镜像的描述文件,定义了如何构建 Docker 镜像。Dockerfile 的语法简洁且可读性强,后面我们会专门讨论如何编写 Dockerfile。&/p&&p&hello-world 的 Dockerfile 内容如下:&/p&&figure&&img src=&https://pic1.zhimg.com/v2-6f1614f1dfbc9d7caeb8_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&214& data-rawheight=&114& class=&content_image& width=&214&&&/figure&&p&只有短短三条指令。&/p&&ol&&li&FROM scratch &br&此镜像是从白手起家,从 0 开始构建。&/li&&li&COPY hello / &br&将文件“hello”复制到镜像的根目录。&/li&&li&CMD [&/hello&] &br&容器启动时,执行 /hello&/li&&/ol&&p&镜像 hello-world 中就只有一个可执行文件 “hello”,其功能就是打印出 “Hello from Docker ......” 等信息。&/p&&p&/hello 就是文件系统的全部内容,连最基本的 /bin,/usr, /lib, /dev 都没有。&/p&&p&hello-world 虽然是一个完整的镜像,但它并没有什么实际用途。通常来说,我们希望镜像能提供一个基本的操作系统环境,用户可以根据需要安装和配置软件。&/p&&p&这样的镜像我们称作 base 镜像。&/p&&p&作者:cloudman6&/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//click.aliyun.com/m/38129/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&原文&/a&&/p&&p&&b&更多技术干货敬请关注云栖社区知乎机构号:&a href=&https://www.zhihu.com/org/a-li-yun-yun-qi-she-qu-48& class=&internal&&阿里云云栖社区 - 知乎&/a&&/b&&/p&
容器核心知识本篇通过 Docker 讨论容器的核心知识。概述容器核心知识主要回答有关容器 What、Why 和 How 三个问题。其中 How 是重点,将从架构、镜像、容器、网络和存储几个方面进行讲解。What - 什么是容器?容器是一种…
&p&收藏4万3,点赞2万6…&/p&&p&人家想要赞不想只有收藏嘛TT…&/p&&p&&br&&/p&&p&&br&&/p&&p&&b&原载于微信公众号sinanfashion的文章&/b&&/p&&p&&b&未经允许请勿私自转载。&/b&&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/50/ec66b9c495aced9f0baede9a012c4470_b.jpg& data-rawwidth=&800& data-rawheight=&50& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&https://pic3.zhimg.com/50/ec66b9c495aced9f0baede9a012c4470_r.jpg&&&/figure&&p&&br&&/p&&p&&b&16/06/02日更新,将模特全部更换为亚洲人,重新修改了文章框架,增加单品介绍与搭配内容。&/b&&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/50/ec66b9c495aced9f0baede9a012c4470_b.jpg& data-rawwidth=&800& data-rawheight=&50& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&https://pic3.zhimg.com/50/ec66b9c495aced9f0baede9a012c4470_r.jpg&&&/figure&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/50/b76bcbebb1bbba61147cdaf50b20eb47_b.jpg& data-rawwidth=&1340& data-rawheight=&212& class=&origin_image zh-lightbox-thumb& width=&1340& data-original=&https://pic1.zhimg.com/50/b76bcbebb1bbba61147cdaf50b20eb47_r.jpg&&&/figure&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/50/e83fcf9fceaaa13e88e0_b.jpg& data-rawwidth=&1402& data-rawheight=&1054& class=&origin_image zh-lightbox-thumb& width=&1402& data-original=&https://pic2.zhimg.com/50/e83fcf9fceaaa13e88e0_r.jpg&&&/figure&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/50/cec0c0d468bbfb12ef71ecc_b.jpg& data-rawwidth=&1268& data-rawheight=&210& class=&origin_image zh-lightbox-thumb& width=&1268& data-original=&https://pic3.zhimg.com/50/cec0c0d468bbfb12ef71ecc_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/50/ec66b9c495aced9f0baede9a012c4470_b.jpg& data-rawwidth=&800& data-rawheight=&50& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&https://pic3.zhimg.com/50/ec66b9c495aced9f0baede9a012c4470_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/50/0b41a0cc453d2a7facb67_b.jpg& data-rawwidth=&600& data-rawheight=&94& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic3.zhimg.com/50/0b41a0cc453d2a7facb67_r.jpg&&&/figure&&p&&br&&/p&&p&早期关注我的朋友可能比较了解,我高中时候是对搭配一窍不通的。什么粉红色风衣内搭红色毛衣之类的事儿我都干过,对搭配用心也都是上大学之后。所以当我在不断的试错中自觉出一些所谓的搭配门路之后,我反过头来再看搭配这件事儿,&b&就觉得这种外表上的注意与改变,比起什么情商养成学术专攻,真的简单太多了。&/b&&/p&&p&&br&&/p&&p&算是有些不服气的成分存在,我就觉得,&b&凭什么一提到中国男人大家都会有种不修边幅的印象?&/b&&/p&&p&&b&甚至说,凭什么一个内在优秀的人,要被这种简简单单就能做好的事情而价值判断?&/b&&/p&&p&&br&&/p&&p&我有过不屑,想要通过假装不在意,为自己找到避身之所的经历。我也有过面对声色以及他人评判,试着去扮演我所艳羡的他人角色,而逼迫自己融入其中的经历。&/p&&p&&br&&/p&&p&所以正是因为我有过这样的经历,使得我真心希望,&b&每个人最闪光的内在不要被这些浮华的东西所掩盖。You deserve all the stars in the sky,darling.&/b&&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/50/eab4a8bb8eb4df33de885c43b1f49d7b_b.jpg& data-rawwidth=&448& data-rawheight=&299& class=&origin_image zh-lightbox-thumb& width=&448& data-original=&https://pic1.zhimg.com/50/eab4a8bb8eb4df33de885c43b1f49d7b_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&所以这个公众号,不会讲高端奢华的大牌时尚,只讲有借鉴意义的实用搭配。而我也只是希望每位朋友能从我的搭配分析中,学会购买适合自己承受能力的穿着。&/p&&p&&br&&/p&&p&&b&既然看不破那声色,做不到“贫而乐”,那其实肤浅一点、虚荣一点,让自己快乐,没什么不好的。&/b&&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/50/ec66b9c495aced9f0baede9a012c4470_b.jpg& data-rawwidth=&800& data-rawheight=&50& class=&origin_image zh-lightbox-thumb& width=&800& data-original=&https://pic3.zhimg.com/50/ec66b9c495aced9f0baede9a012c4470_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/50/9f94a4fadea_b.jpg& data-rawwidth=&1328& data-rawheight=&214& class=&origin_image zh-lightbox-thumb& width=&1328& data-original=&https://pic3.zhimg.com/50/9f94a4fadea_r.jpg&&&/figure&&p&&br&&/p&&p&&b&本文将从&/b&&/p&&p&&br&&/p&&p&【1、找到适合你肤色的颜色】&/p&&p&【2、找到适合你体型的单品】&/p&&p&【3、男装单品介绍/搭配推荐】&br&&/p&&p&【4、搭配偶像】&/p&&p&【5、正装礼仪与选择】&/p&&p&【6、潮流资讯/舵手推荐】&/p&&p&&br&&/p&&p&&b&六个篇章来完善男生服装搭配基础教程,女生也可以多帮男朋友学习哦~&/

我要回帖

更多关于 社保卡怎么交养老保险 的文章

 

随机推荐