僵尸进程、进程状态简介
本文介绍了Linux系统中的僵尸进程及其产生原因。僵尸进程是指子进程执行完成后,父进程未读取其退出状态并回收资源导致的特殊状态。僵尸进程主要由两种情况引起:一是父进程未回收子进程资源;二是父进程先于子进程结束,使子进程成为孤儿进程。尽管僵尸进程不占用CPU资源,但会占用内存和进程表位置,大量存在时可能影响系统性能。此外,文章还简述了Linux进程的状态转换过程,包括运行状态、休眠状态及与进程终止相关的EXIT_ZOMBIE和EXIT_DEAD状态。
使用 Nginx 搭建正向代理
本文介绍了如何使用Nginx搭建正向代理服务器。首先,通过yum命令在CentOS上安装Nginx。接着,配置`nginx.conf`文件以设置基本的Nginx参数如worker进程数、日志格式等,并创建`default.conf`文件来指定监听端口8118及相关的代理配置选项。完成配置后,通过重启Nginx服务并使用curl命令进行测试验证其功能。若遇到HTTP 400错误,则需要安装额外的`ngx_http_proxy_connect_module`模块来支持CONNECT方法,这包括安装依赖包、克隆项目源码、应用补丁以及重新编译安装Nginx。该过程确保了Nginx能够正确地作为正向代理工作。
💻技术
未读
PostgreSQL 主从模式部署(源码编译方式)
本文详细介绍了在 CentOS 7 操作系统下,通过源码编译方式部署 PostgreSQL 11.6 主从模式(一主一从)的全过程。首先创建安装和数据目录,下载并解压 PostgreSQL 源码包,安装必要的依赖库,然后进行编译安装。接着创建用户和用户组,修改目录权限,并切换到 postgres 用户,设置环境变量,初始化数据库,启动服务并设置开机自启。为了实现主从复制,需要配置主库的 `pg_hba.conf` 和 `postgresql.conf` 文件以允许从库连接,并在从库上使用 `pg_basebackup` 命令进行基础备份。最后,文章还演示了如何测试主从数据同步及主从切换。整个过程涵盖了从环境准备到部署验证的所有关键步骤。
rocketmq-client-cpp 2.0.1 编译方法(基于 ARM 64 架构)
本文介绍了在ARM 64架构下安装RocketMQ C++客户端2.0.1动态库的解决方案。由于官方未提供ARM 64架构的yum源,博主通过从源码编译的方式解决了同事遇到的问题。具体步骤包括:首先安装必要的依赖包;接着下载并解压RocketMQ C++客户端源码;然后修改`build.sh`脚本以解决构建Boost库时出现的问题,并调整`CMakeLists.txt`和`project-cache.jam`文件来适应ARM 64环境;最后执行修改后的`build.sh`脚本完成编译过程,生成所需的`.so`动态库文件。此方法为在ARM 64架构上使用RocketMQ C++客户端提供了可行路径。
RocketMQ 部署(二进制方式)
本文详细介绍了在Kylin V10操作系统下非容器化部署RocketMQ 4.9.4版本的全过程。首先安装了Java作为依赖,然后下载并解压了RocketMQ的二进制包。接着修改了broker配置文件以适应本地环境。之后通过创建和执行启动脚本成功开启了namesrv与broker服务,并通过检查日志和服务状态确认其正常运行。最后,文章还展示了如何测试RocketMQ的基本功能,包括消息发送与接收、Topic创建以及查看集群和Topic列表等操作。对于可能出现的超时问题,提供了相应的解决建议。

