在Linux 7.2(通常指CentOS 7.2或RHEL 7.2)上搭建网站是一项常见的系统管理任务,主要涉及Web服务器安装、配置、防火墙设置以及可能的数据库和PHP环境部署。以下是一份专业、准确的操作指南。

一、 系统准备与更新
首先,确保系统是最新的。使用root用户或拥有sudo权限的用户执行以下命令:
yum update -y
此命令将更新所有系统软件包到最新版本,确保安全性和稳定性。
二、 安装Web服务器软件
CentOS/RHEL 7.2的默认软件源提供了Apache HTTP Server和Nginx。您可以选择其一或两者都安装(使用不同端口)。以下以最常用的Apache为例。
1. 安装Apache:
yum install -y httpd
2. 启动Apache服务并设置为开机自启:
systemctl start httpd
systemctl enable httpd
3. 验证Apache是否运行:
systemctl status httpd
如果看到"active (running)"字样,表示服务已成功启动。
三、 配置防火墙
CentOS/RHEL 7默认使用firewalld作为防火墙管理工具。需要放行HTTP(80端口)和HTTPS(443端口)流量。
1. 永久添加HTTP和HTTPS服务规则:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
2. 重新加载防火墙配置使其生效:
firewall-cmd --reload
3. 验证规则是否已添加:
firewall-cmd --list-all
四、 测试Web服务器
在浏览器中输入服务器的IP地址或域名(如`http://your_server_ip`),如果看到Apache的默认测试页面,说明Web服务器已成功运行。
五、 部署网站内容
Apache的默认网站根目录是`/var/www/html`。您可以将自己的网站文件(如HTML、CSS、JavaScript文件)放置于此。
1. 创建示例首页:
echo "<h1>My Website on CentOS 7.2</h1>" > /var/www/html/index.html
2. 确保目录权限正确:
chown -R apache:apache /var/www/html
chmod -R 755 /var/www/html
六、 扩展:安装LAMP栈以运行动态网站
如需运行如WordPress等动态网站,需要安装LAMP(Linux, Apache, MySQL/MariaDB, PHP)栈。
1. 安装MariaDB(MySQL的替代品):
yum install -y mariadb-server mariadb
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation (运行安全安装脚本,设置root密码等)
2. 安装PHP及其常用模块:
yum install -y php php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel
3. 安装完成后,重启Apache服务以加载PHP模块:
systemctl restart httpd
4. 测试PHP:在网站根目录创建`info.php`文件:
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
访问`http://your_server_ip/info.php`,应显示PHP信息页面。
七、 关键配置文件路径与说明
| 组件 | 主要配置文件路径 | 核心作用 |
|---|---|---|
| Apache HTTPD | /etc/httpd/conf/httpd.conf | 主配置文件,可设置全局参数、监听端口等。 |
| Apache 虚拟主机 | /etc/httpd/conf.d/ | 在此目录创建.conf文件来配置多个网站(虚拟主机)。 |
| MariaDB/MySQL | /etc/my.cnf | 数据库服务器的主配置文件。 |
| PHP | /etc/php.ini | PHP运行时的主要配置文件。 |
| 防火墙 (firewalld) | /etc/firewalld/ | 防火墙规则和区域的配置目录。 |
八、 安全与维护建议
1. 禁用SELinux或配置其策略:SELinux可能会阻止Web服务器正常访问文件。对于测试环境,可临时设置为宽容模式:setenforce 0。生产环境建议学习并配置正确的SELinux策略。
2. 定期更新:使用`yum update`定期更新系统及所有软件包,修补安全漏洞。
3. 配置虚拟主机:如需托管多个网站,应使用虚拟主机配置,而非将所有内容放在`/var/www/html`下。
4. 考虑使用Nginx:对于高并发静态内容或反向代理场景,Nginx是比Apache更高效的选择。安装命令:yum install -y nginx。
5. 备份:定期备份网站文件、数据库以及重要的配置文件。
通过以上步骤,您可以在CentOS/RHEL 7.2系统上成功搭建一个从静态到动态的完整网站环境。整个过程的核心在于服务管理(systemctl)、防火墙配置(firewalld)以及LAMP组件的协同工作。

查看详情

查看详情