GCC 之动态连接库

上面是 GCC 进行编译时的过程,分别进行了预处理、编译、汇编和链接四个阶段,在 gcc 的命令中也有相应的参数对应:E:只预处理,不进行编译、汇编和连接S:只编译,不进行汇编和连接c:编译和汇编,不进行链接o:在各个阶段,生成指定的输出文件名称相应的调用命令如下# 预处理 gcc -E hello.c -o hello.i # 编译,把代码将预处理生成的 .i 文件翻译为汇编代码 gcc ...

周末

周末带两娃在雨花台拍的一张照片 - Aug 22, 2020

使用 Nginx 后如何在 Web 应用中获取用户 IP 及原理解释

问题背景在实际应用中,我们可能需要获取用户的ip地址,比如做异地登陆的判断,或者统计ip访问次数等,通常情况下我们使用 request.getRemoteAddr() 就可以获取到客户端ip,但是当我们使用了nginx作为反向代理后,使用request.getRemoteAddr() 获取到的就一直是nginx服务器的ip的地址,那这时应该怎么办?解决方案我在查阅资料时,有一本名叫《实战ng...

Redis 分布式部署之哨兵

Redis的主从复制模式下,一旦主节点由于故障不能提供服务,需要人工将从节点晋升为主节点,同时还要通知应用方更新主节点地址,为此Redis从2.8开始正式提供了Redis Sentinel架构来解决此问题。主从复制的问题Redis的主从复制模式可以将主节点的数据改变同步给从节点,这样从节点就可以起到两个作用作为主节点的一个备份,一但主节点出了故障不可达的情况,从节点可以作为后备顶上来从节点可...

为NGINX 安装第三方模块

在 Nginx 1.9.11 之前安装第三方模块时,由于并不支持动态的加载,因此都是覆盖 nginx 的执行文件安装的。但是在 1.9.11 版本之后有了 --add-dynamic-module 就可以动态添加模块了。操作之前还是需要检查已经安装的模块配置[root@kaixinlab ~]# cd /usr/local/nginx/sbin/ [root@kaixinlab sbin]#...