网站Linux服务器配置是一个系统性工程,涉及系统初始化、服务部署、安全加固及性能优化等多个环节,以下是详细的配置步骤和注意事项,帮助搭建稳定、高效的网站运行环境。

系统初始化是基础,推荐使用CentOS 7+或Ubuntu 20.04 LTS等长期支持版本,安装完成后,更新系统并安装必要工具:yum update -y(CentOS)或apt update && apt upgrade -y(Ubuntu),然后安装net-tools、vim、wget等工具,关闭防火墙和SELinux(生产环境建议配置规则而非直接关闭):systemctl stop firewalld && systemctl disable firewalld,setenforce 0并修改/etc/selinux/config中的SELINUX=disabled。
接下来是网络配置,编辑/etc/sysconfig/network-scripts/ifcfg-eth0(CentOS)或/etc/netplan/01-netcfg.yaml(Ubuntu),设置静态IP,确保服务器外网可访问,测试网络连通性:ping 8.8.8.8和nslookup www.baidu.com。
然后是安装Web服务,Nginx和Apache是常用选择,以Nginx为例:CentOS下执行yum install nginx -y,Ubuntu下apt install nginx -y,启动并设置开机自启:systemctl start nginx && systemctl enable nginx,配置网站虚拟主机,编辑/etc/nginx/conf.d/default.conf,定义监听端口、根目录和域名,
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.html index.php;
location / {
try_files $uri $uri/ =404;
}
}
配置完成后检查语法并重启:nginx -t && systemctl restart nginx。

数据库配置方面,MySQL或MariaDB是主流选择,以MariaDB为例:CentOS下yum install mariadb-server mariadb -y,Ubuntu下apt install mariadb-server mariadb-client -y,启动服务并安全初始化:systemctl start mariadb && systemctl enable mariadb,执行mysql_secure_installation设置root密码、删除匿名用户等,创建网站数据库和用户:
mysql -u root -p CREATE DATABASE website_db; CREATE USER 'user'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON website_db.* TO 'user'@'localhost'; FLUSH PRIVILEGES; EXIT;
安全加固是关键,配置SSH密钥登录,禁用密码登录:编辑/etc/ssh/sshd_config,设置PasswordAuthentication no,重启SSH服务:systemctl restart sshd,安装Fail2ban防止暴力破解:yum install fail2ban -y(CentOS)或apt install fail2ban -y(Ubuntu),配置/etc/fail2ban/jail.local,设置SSH监禁规则。
性能优化方面,调整内核参数,编辑/etc/sysctl.conf,添加:
net.core.somaxconn = 65535 net.ipv4.tcp_max_syn_backlog = 65535 net.ipv4.tcp_tw_reuse = 1
执行sysctl -p生效,对于高并发网站,可配置Nginx多进程和缓存,调整worker_processes为CPU核心数,启用proxy_cache缓存静态资源。
以下是服务配置对比表:
| 服务类型 | 推荐软件 | 安装命令(CentOS) | 核心配置文件 |
|---|---|---|---|
| Web服务器 | Nginx | yum install nginx -y |
/etc/nginx/nginx.conf |
| 数据库服务器 | MariaDB | yum install mariadb-server -y |
/etc/my.cnf |
| 防火墙 | Firewalld | yum install firewalld -y |
/etc/firewalld/firewalld.conf |
| 入侵防护 | Fail2ban | yum install fail2ban -y |
/etc/fail2ban/jail.local |
定期维护必不可少,使用logrotate管理日志,配置/etc/logrotate.d/nginx分割Nginx日志;设置定时任务备份重要数据,例如0 2 * * * /usr/bin/mysqldump -u root -p website_db > /backup/website_db_$(date +\%F).sql。
相关问答FAQs
Q1:如何优化Nginx性能以应对高并发?
A1:可通过调整worker_processes为CPU核心数,启用epoll模型(Linux默认),开启gzip压缩减少传输数据,配置keepalive_timeout长连接,以及使用worker_rlimit_nofile提高文件描述符限制,部署负载均衡(如Nginx upstream)或结合缓存(如Redis)可进一步提升并发能力。
Q2:Linux服务器如何防止DDoS攻击?
A2:首先配置防火墙(如Firewalder或iptables)限制异常流量,例如限制单个IP的连接数;其次使用专业防护工具如Fail2ban或ModSecurity拦截恶意请求;通过CDN(如Cloudflare)隐藏服务器真实IP,并定期更新系统和软件补丁,避免漏洞被利用,对于大规模攻击,可考虑接入云服务商的DDoS防护服务。
