服务器环境搭建笔记,新手如何快速配置基础环境?

服务器环境搭建笔记

准备工作

在开始搭建服务器环境前,需明确服务器用途(如Web服务、数据库、应用部署等)及操作系统选择(Linux推荐CentOS/Ubuntu,Windows Server适合.NET环境),准备一台符合配置要求的服务器(建议至少2核CPU、4GB内存、50GB存储),并通过SSH(Linux)或RDP(Windows)远程连接,确保网络环境正常,获取服务器公网IP(若需外网访问)及域名(可选)。

服务器环境搭建笔记,新手如何快速配置基础环境?

基础系统配置

  1. 更新系统

    • Linux(CentOS):执行sudo yum update -y更新所有包。
    • Linux(Ubuntu):运行sudo apt update && sudo apt upgrade -y
    • Windows Server:通过Server Manager执行“Windows Update”。
  2. 配置网络

    • 静态IP配置:编辑/etc/sysconfig/network-scripts/ifcfg-eth0(CentOS)或/etc/netplan/01-netcfg.yaml(Ubuntu),设置BOOTPROTO=static并配置IP、网关、DNS。
    • 防火墙设置:CentOS使用firewall-cmd --permanent --add-port=80/tcp开放端口;Ubuntu使用ufw allow 80
  3. 用户与权限

    • 创建新用户(避免直接使用root):sudo adduser username,赋予sudo权限:visudo,添加username ALL=(ALL) NOPASSWD:ALL
    • 禁用root远程登录(Linux):编辑/etc/ssh/sshd_config,设置PermitRootLogin no后重启SSH服务:systemctl restart sshd

安装必要软件

  1. Web服务器

    服务器环境搭建笔记,新手如何快速配置基础环境?

    • Nginx:CentOS执行sudo yum install nginx -y;Ubuntu运行sudo apt install nginx -y,启动服务:systemctl start nginx,设为开机自启:systemctl enable nginx
    • Apache:若需Apache,CentOS使用sudo yum install httpd -y,Ubuntu使用sudo apt install apache2 -y
  2. 数据库

    • MySQL:CentOS执行sudo yum install mysql-server -y;Ubuntu运行sudo apt install mysql-server -y,安全配置:mysql_secure_installation,设置root密码并移除匿名用户。
    • PostgreSQL:Ubuntu安装:sudo apt install postgresql postgresql-contrib -y,创建用户与数据库:sudo -u postgres psql,执行CREATE USER user WITH PASSWORD 'password'; CREATE DATABASE db_name;
  3. 运行时环境

    • Node.js:使用NVM版本管理器:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash,重启终端后安装LTS版本:nvm install --lts
    • Python:Ubuntu安装Python3:sudo apt install python3 python3-pip -y;CentOS需编译安装或使用EPEL源。
    • Java(JDK):Ubuntu安装OpenJDK:sudo apt install openjdk-11-jdk -y;CentOS执行sudo yum install java-11-openjdk-devel -y

部署应用示例

以Node.js应用为例:

  1. 上传代码至服务器(可通过SCP、Git或FTP):scp -r /local/path user@server_ip:/remote/path
  2. 安装依赖:进入项目目录,执行npm install
  3. 配置PM2(进程管理器):全局安装npm install pm2 -g,启动应用:pm2 start app.js --name "my-app",设置开机自启:pm2 startup
  4. 配置Nginx反向代理:编辑/etc/nginx/sites-available/default,添加:

    server {
    listen 80;
    server_name your_domain.com;
    location / {
    proxy_pass http://localhost:3000;
    proxy_set_header Host $host;
    }
    }

    重启Nginx:systemctl restart nginx

    服务器环境搭建笔记,新手如何快速配置基础环境?

安全加固

  1. SSH安全:修改默认端口(22)为非标准端口(如2222),编辑/etc/ssh/sshd_config,设置Port 2222并重启SSH。
  2. Fail2Ban:防暴力破解工具,安装:sudo apt install fail2ban -y(Ubuntu)或sudo yum install fail2ban -y(CentOS),配置/etc/fail2ban/jail.local,禁用IP失败尝试过多。
  3. 定期备份:使用rsynccron定时备份数据库与文件,例如每日凌晨2点备份MySQL:0 2 * * * mysqldump -u root -p password db_name > /backup/db_$(date +\%Y\%m\%d).sql

监控与维护

  1. 系统监控:安装htop(Linux)或使用Task Manager(Windows),实时查看资源占用。
  2. 日志分析:通过/var/log/nginx/access.log(Nginx)或/var/log/mysql/error.log(MySQL)排查问题。
  3. 自动更新:Ubuntu设置sudo apt unattended-upgrades -y;CentOS使用sudo yum update -y --security

常见问题处理

  • 端口占用:执行netstat -tulpn | grep :80查看占用进程,终止或修改配置。
  • 权限错误:确保文件所有者为部署用户(如chown -R username:username /var/www/html)。
  • 服务无法启动:检查日志(journalctl -u nginx)及配置文件语法(nginx -t)。

通过以上步骤,可完成基础服务器环境搭建,后续根据业务需求扩展功能(如负载均衡、SSL证书配置等),定期维护与安全更新是保障服务器稳定运行的关键。