nux服务器部署需先选合适发行版,安装后配置网络、安全
当今数字化时代,Linux 服务器部署是一项至关重要的任务,无论是对于企业级应用还是个人项目,以下将详细介绍 Linux 服务器部署的各个环节,帮助你全面了解并掌握这一过程。
部署前准备
- 硬件要求
- 处理器:根据预期负载选择合适的 CPU 核心数与频率,轻量级网站可能只需单核或双核低频率处理器,而大型数据库服务器则需要多核高频处理器。
- 内存:运行 Linux 系统本身需要一定内存,如 Ubuntu 桌面版约 768MB 以上,服务器版 2GB 以上,若部署 Web 服务,需考虑 Web 应用内存占用,像 WordPress 简单站点 512MB 1GB 可能足够,复杂电商网站则可能需要 4GB 及以上。
- 存储:系统分区需预留足够空间,如根分区(/)至少 10GB 20GB,若安装大量软件包则需更大,数据存储分区依数据量而定,如文件服务器存储海量文件,可能需要 TB 级容量,可选择 HDD 或 SSD,SSD 读写速度快但价格高,HDD 容量大成本低。
- 软件准备
- Linux 发行版选择:常见的有 Ubuntu、CentOS、Debian 等,Ubuntu 社区活跃,对新手友好,有丰富文档与软件源;CentOS 稳定性高,企业应用广泛,版本更新慢但兼容性好;Debian 基础坚实,软件包管理严谨,适合追求极致稳定的场景。
- 安装介质制作:从官网下载对应 ISO 镜像文件,使用工具如 Rufus(Windows 下)、Etcher(跨平台)制作 U 盘启动盘,以 Rufus 为例,打开软件,选择下载好的 ISO 文件,设备选 U 盘,分区方案选 MBR 或 GPT(新式电脑多用 GPB),点击“开始”即可制作。
系统安装
- BIOS/UEFI 设置
启动服务器,进入 BIOS/UEFI 设置界面(通常按 Del、F2 等键),将 U 盘设为第一启动项,保存退出,不同主板进入方式略有不同,如华硕主板按 Del,技嘉按 F12 等。
- 安装流程
- 从 U 盘启动后,进入 Linux 安装向导,以 Ubuntu 为例,首先选择语言,接着选择时区,然后是键盘布局。
- 磁盘分区环节至关重要,可选择自动分区(适合新手,但灵活性差)或手动分区,手动分区时,需创建根分区(/)、交换分区(用于内存交换,一般设置为内存大小的 1 2 倍)、引导分区(若采用 UEFI 启动,大小 200MB 500MB,文件系统 EFI;MBR 启动则无单独引导分区,此分区挂载点为 /boot)。
- 设置用户与密码,创建一个普通用户用于日常操作,再设置 root 密码(root 权限极高,谨慎使用),安装过程中还需选择软件安装选项,如最小安装、标准安装、带有桌面环境的安装等,服务器一般选最小安装,减少不必要的资源占用与安全风险。
系统配置
- 网络配置
- 编辑网络配置文件,如在 CentOS 中为
/etc/sysconfig/network-scripts/ifcfg-eth0
(eth0 为网卡名称,可能因服务器而异),设置 IP 地址、子网掩码、网关、DNS 服务器等信息,也可通过图形化网络配置工具(部分 Linux 发行版自带)进行设置,方便直观。 - 若服务器需连接路由器或交换机,确保网线连接正常,且网络设备端口配置正确,允许服务器通信,还可设置主机名,修改
/etc/hostname
文件,便于网络识别与管理。
- 编辑网络配置文件,如在 CentOS 中为
- 防火墙配置
- Linux 常用防火墙有 firewalld(CentOS 7+默认)、iptables,以 firewalld 为例,通过命令
firewall-cmd --permanent --add-service=http
永久添加 HTTP 服务允许规则,firewall-cmd --reload
重新加载防火墙规则使其生效,可根据需求开放或关闭特定端口,如 SSH 默认端口 22(为安全可改自定义端口),MySQL 默认端口 3306 等,防止恶意攻击。
- Linux 常用防火墙有 firewalld(CentOS 7+默认)、iptables,以 firewalld 为例,通过命令
软件部署
- Web 服务器部署(以 Nginx 为例)
- 安装 Nginx,在 Ubuntu 上使用
sudo apt-get install nginx
,CentOS 上sudo yum install nginx
,安装完成后,Nginx 默认配置文件位于/etc/nginx/nginx.conf
,可修改监听端口、服务器名称等参数。 - 创建网站目录,如
/var/www/html
,将网页文件上传至此目录,配置虚拟主机,编辑/etc/nginx/sites-available/default
(或自行创建配置文件),指定域名、根目录、日志文件路径等,然后通过ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
建立软链接使配置生效,最后启动 Nginx 服务,sudo systemctl start nginx
,并设置开机自启sudo systemctl enable nginx
。
- 安装 Nginx,在 Ubuntu 上使用
- 数据库部署(以 MySQL 为例)
- 安装 MySQL,Ubuntu 上
sudo apt-get install mysql-server
,CentOS 上sudo yum install mysql-server
,安装过程中会提示设置 root 密码,牢记此密码。 - 登录 MySQL,使用命令
mysql -u root -p
,输入密码后进入交互界面,创建数据库,如CREATE DATABASE mydb;
,创建用户并赋予权限,CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword'; GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'; FLUSH PRIVILEGES;
,这样名为 myuser 的用户就可对 mydb 数据库进行操作。
- 安装 MySQL,Ubuntu 上
服务优化与监控
- 性能优化
- 调整系统参数,如修改
/etc/sysctl.conf
文件,设置vm.swappiness
值控制交换分区使用频率(0 表示最大限度避免使用交换分区,100 相反),优化网络缓冲区大小等参数提升网络性能。 - 对 Web 服务器、数据库进行针对性优化,Nginx 可调整 worker 进程数、连接超时时间等;MySQL 可优化查询缓存、调整缓冲池大小等,依据服务器硬件与业务负载特点进行调优。
- 调整系统参数,如修改
- 监控工具
安装监控软件如 Zabbix、Prometheus 等,Zabbix 可监控服务器各项指标(CPU、内存、磁盘 I/O、网络流量等),通过客户端代理收集数据,在服务器端展示监控图表、发送告警通知(邮件、短信等),Prometheus 擅长处理时间序列数据,与 Grafana 结合可打造精美监控看板,实时掌握服务器运行状态,及时发现并解决潜在问题。
FAQs
Q1:如何在 Linux 服务器上开启 SSH 远程登录?
A1:首先确保 SSH 服务已安装,在 Ubuntu 上可使用命令 sudo apt-get install openssh-server
,CentOS 上 sudo yum install openssh-server
,安装完成后,检查 SSH 服务是否启动,若未启动可使用 sudo systemctl start sshd
(CentOS)或 sudo service ssh start
(Ubuntu),并设置开机自启 sudo systemctl enable sshd
(CentOS)或 sudo update-rc.d ssh defaults
(Ubuntu),为了安全,建议修改默认的 SSH 端口(非必须),编辑 /etc/ssh/sshd_config
文件,找到 Port
项,将其改为自定义端口号(如 2222),保存后重启 SSH 服务。
Q2:Linux 服务器部署 Web 应用后,网页打不开怎么办?
A2:首先检查网络连接,确保服务器能正常联网,查看防火墙规则是否阻止了 Web 服务端口(如 Nginx 默认的 80 端口或 HTTPS 的 443 端口),可使用 firewall-cmd --list-all
(firewalld)或 iptables -L
(iptables)查看规则,若有阻止则添加允许规则,如 firewall-cmd --permanent --add-port=80/tcp
添加 HTTP 端口允许规则,其次检查 Web 服务器配置是否正确,查看配置文件中的监听 IP、端口、根目录指向等参数,确保网页文件已正确放置于根目录且权限设置正确(文件所有者一般为 Web 服务器运行用户,如 www-data、nginx 等,权限可设为 644,目录为 755),还可查看 Web 服务器日志(如 Nginx 的 /var/log/nginx/error.log
、`/var/log/nginx/access.
各位小伙伴们,我刚刚为大家分享了有关linux 服务器部署的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/12216.html