当前位置: 首页 > 产品大全 > Linux系列第六讲 手动命令安装软件与服务器基本环境搭建

Linux系列第六讲 手动命令安装软件与服务器基本环境搭建

Linux系列第六讲 手动命令安装软件与服务器基本环境搭建

在Linux系统的日常管理和服务器运维中,掌握手动命令安装软件以及搭建基础服务环境是核心技能之一。与图形界面或包管理器(如apt、yum)相比,手动安装提供了更高的灵活性和对软件版本、配置的深度控制。本讲将系统性地介绍从源码编译安装软件的通用流程,并演示如何搭建一个包含Web服务、数据库和运行环境的基本服务器。

一、手动从源码编译安装软件

手动安装通常指获取软件的源代码(Source Code),在本地编译(Compile)并安装(Install)。这种方式适用于获取最新版本、特定版本或进行自定义配置。

通用步骤(以安装Nginx为例):

1. 准备编译环境:安装编译器(如gcc)和依赖库。
`bash
# 对于基于Debian/Ubuntu的系统

sudo apt update
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev -y

对于基于RHEL/CentOS的系统

sudo yum groupinstall "Development Tools"
sudo yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
`

2. 获取源代码:从官方网站或镜像下载源码压缩包。
`bash
wget http://nginx.org/download/nginx-1.24.0.tar.gz
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0
`

3. 配置(Configure):运行configure脚本检查系统环境并生成编译规则(Makefile)。可以在此指定安装路径、启用或禁用模块。
`bash
./configure --prefix=/usr/local/nginx \

--with-httpsslmodule \

--with-httpv2module
`
--prefix参数定义了软件的安装根目录。

4. 编译(Make):根据生成的Makefile将源代码编译成可执行二进制文件。
`bash
make
`

5. 安装(Make Install):将编译好的文件复制到--prefix指定的系统目录中。
`bash
sudo make install
`

6. 验证与配置
`bash
# 启动Nginx

sudo /usr/local/nginx/sbin/nginx
# 检查进程和端口

ps aux | grep nginx
ss -tlnp | grep :80
`

优势与注意事项
- 优势:版本控制灵活,优化编译参数,深度定制功能模块。
- 注意事项:依赖管理需手动解决;更新和卸载不如包管理器方便;通常需要手动配置服务管理(如Systemd)。

二、服务器基本环境搭建实践

一个典型的Web应用服务器基础环境通常被称为“LAMP”或“LNMP”栈。这里我们以“LNMP”(Linux, Nginx, MySQL, PHP)为例,结合手动与包管理安装。

环境目标:在全新Linux服务器上,搭建支持动态网站的LNMP环境。

步骤简述

  1. 操作系统:确保使用CentOS 8+或Ubuntu 20.04+等现代发行版。

2. 安装Nginx(作为Web服务器)
- 可以采用上述源码编译方式安装,或使用包管理器快速安装:
`bash
# Ubuntu/Debian

sudo apt install nginx -y
# CentOS/RHEL (需先启用EPEL仓库)

sudo yum install nginx -y
`

- 启动并设置开机自启:
`bash
sudo systemctl start nginx
sudo systemctl enable nginx
`

- 防火墙放行HTTP/HTTPS端口:
`bash
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
# 或使用ufw (Ubuntu): sudo ufw allow 'Nginx Full'

`

3. 安装MySQL(作为数据库服务器)
- 推荐使用官方仓库或发行版仓库安装。
`bash
# Ubuntu/Debian

sudo apt install mysql-server -y
# CentOS/RHEL

sudo yum install mysql-server -y
`

- 启动服务,运行安全初始化脚本:
`bash
sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo mysqlsecureinstallation
# 根据提示设置root密码、移除匿名用户、禁止远程root登录等。

`

4. 安装PHP(作为动态脚本处理引擎)
- 安装PHP核心及与Nginx、MySQL通信所需的扩展。
`bash
# Ubuntu/Debian

sudo apt install php-fpm php-mysql php-cli php-curl php-gd php-mbstring -y
# CentOS/RHEL (可能需要启用EPEL和Remi仓库)

sudo yum install php-fpm php-mysqlnd php-opcache php-gd php-xml php-mbstring -y
`

- 启动PHP-FPM服务:
`bash
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
`

5. 配置Nginx与PHP-FPM协同工作
- 编辑Nginx的站点配置文件(如/etc/nginx/conf.d/default.conf或新建一个),确保对.php文件的请求被转发给PHP-FPM处理。
`nginx
server {
listen 80;
servername yourserveripor_domain;
root /var/www/html;
index index.php index.html index.htm;

location / {
try_files $uri $uri/ =404;
}

location ~ \.php$ {
fastcgipass unix:/run/php/php-fpm.sock; # 或 127.0.0.1:9000
fastcgi
index index.php;
fastcgiparam SCRIPTFILENAME $documentroot$fastcgiscriptname;
include fastcgi
params;
}
}
`

- 测试配置并重载Nginx:
`bash
sudo nginx -t
sudo systemctl reload nginx
`

6. 环境验证
- 在Web根目录(如/var/www/html)创建测试文件info.php
`php

`

  • 浏览器访问http://your<em>server</em>ip/info.php,应显示PHP信息页面。
  • 创建测试MySQL连接的PHP脚本,验证数据库访问是否正常。

三、基础服务管理要点

  1. 服务管理:熟练使用systemctl(start, stop, restart, status, enable, disable)管理服务生命周期。
  2. 日志查看:使用journalctl -u service_name或查看/var/log/下的日志文件(如nginx的/var/log/nginx/)进行故障排查。
  3. 权限与安全:确保服务进程以非root用户运行;正确设置Web目录(如/var/www/html)的文件所有权和权限(如755/644)。
  4. 防火墙与SELinux:理解并配置好防火墙规则;在生产环境中,需正确处理SELinux上下文或将其置于宽容模式进行测试。

###

通过手动编译安装,你能够深入理解软件与操作系统的交互细节,并在需要时进行精准定制。而结合包管理器快速部署基础服务栈(如LNMP),则能高效构建稳定可靠的服务器环境。将两种方式结合运用,并根据实际场景选择最合适的方案,是成为一名高效Linux系统管理员或DevOps工程师的关键。后续可以进一步探索配置负载均衡、缓存、容器化部署等更高级的主题。

如若转载,请注明出处:http://www.chongbangya.com/product/22.html

更新时间:2026-03-27 14:57:25