当前位置:首页>Linux>Redis系列二:Linux环境安装部署:从源码编译到服务配置与验证

Redis系列二:Linux环境安装部署:从源码编译到服务配置与验证

  • 2026-09-11 00:50:01
Redis系列二:Linux环境安装部署:从源码编译到服务配置与验证

在Linux系统中,通过源码编译安装软件可以获得更好的灵活性和性能优化。本文将以Nginx为例,详细讲解从源码下载、编译安装、服务配置到最终验证的完整流程。

一、环境准备

操作系统:CentOS 7/8 或 Ubuntu 18.04+
示例软件:Nginx 1.24.0
前提条件:具备root或sudo权限

二、安装依赖工具

编译源码需要gcc、make及各类库文件。

# CentOS/RHELyum install -y gcc make pcre-devel zlib-devel openssl-devel wget# Ubuntu/Debianapt update && apt install -y build-essential libpcre3-dev zlib1g-dev libssl-dev wget

三、下载并解压源码

cd /usr/local/srcwget https://nginx.org/download/nginx-1.24.0.tar.gztar -xzf nginx-1.24.0.tar.gzcd nginx-1.24.0

四、编译配置与安装

# 配置编译选项./configure --prefix=/usr/local/nginx \            --with-http_ssl_module \            --with-http_v2_module \            --with-stream# 编译并安装make -j $(nproc)   # 多核并行编译make install

常用configure参数说明:

•--prefix:指定安装路径•--with-http_ssl_module:启用HTTPS•--with-http_v2_module:启用HTTP/2•--with-stream:支持TCP/UDP代理

五、配置系统服务

为了便于管理,创建systemd服务文件。

cat > /etc/systemd/system/nginx.service <<EOF[Unit]Description=Nginx HTTP ServerAfter=network.target[Service]Type=forkingExecStart=/usr/local/nginx/sbin/nginxExecReload=/usr/local/nginx/sbin/nginx -s reloadExecStop=/usr/local/nginx/sbin/nginx -s quitPrivateTmp=true[Install]WantedBy=multi-user.targetEOF

重新加载systemd并设置开机自启:

systemctl daemon-reloadsystemctl enable nginx

六、启动服务与验证

1. 启动服务

systemctl start nginxsystemctl status nginx   # 查看运行状态

2. 防火墙放行(如有需要)

# CentOSfirewall-cmd --permanent --add-service=httpfirewall-cmd --reload# Ubuntuufw allow 80/tcp

3. 功能验证

•进程检查:ps aux | grep nginx•端口监听:netstat -tlnp | grep 80 或 ss -tlnp | grep 80•HTTP访问:curl -I http://localhost 应返回200 OK

在浏览器中访问服务器IP,看到Nginx欢迎页即成功。

七、常见问题排查

现象
可能原因
解决方法
configure: error: C compiler cc is not found
未安装gcc
yum install gcc
 或 apt install gcc
make: command not found
缺少make工具
安装make包
80端口被占用
Apache或其他Web服务
systemctl stop httpd
 或修改nginx端口
启动后立即退出
配置文件语法错误
执行 /usr/local/nginx/sbin/nginx -t 检查

八、扩展:软件更新与卸载

更新:重新下载新源码,重复configure、make、make install步骤(建议先备份配置文件)

卸载:删除安装目录并移除服务文件

rm -rf /usr/local/nginxsystemctl disable nginxrm /etc/systemd/system/nginx.servicesystemctl daemon-reload

总结

源码编译安装虽然步骤稍多,但能让你深入掌握软件的目录结构、依赖关系和定制选项。通过systemd服务管理和验证流程,可以轻松将软件融入生产环境。建议在实际操作中根据具体软件调整configure参数,并养成备份配置文件的习惯。

提示:对于生产环境,优先考虑使用yum/apt仓库或官方预编译包,源码编译更适合需要特定优化或功能定制场景。

最新文章

随机文章