菜鸟科技网

centos 网站搭建,CentOS网站搭建如何入门?步骤有哪些?

在CentOS操作系统上搭建网站是许多服务器管理员和开发者的常见需求,CentOS以其稳定性和安全性著称,适合作为Web服务器环境,以下是详细的搭建步骤,包括环境准备、服务安装、配置优化及安全加固等内容。

centos 网站搭建,CentOS网站搭建如何入门?步骤有哪些?-图1
(图片来源网络,侵删)

环境准备

在开始搭建网站前,需确保系统已更新至最新状态,并安装必要的开发工具,执行以下命令更新系统:

sudo yum update -y
sudo yum groupinstall "Development Tools" -y

关闭防火墙和SELinux(临时配置,生产环境需谨慎):

sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo setenforce 0

安装Web服务器

安装Apache(HTTPd)

Apache是最流行的Web服务器之一,支持PHP、Python等多种语言,安装命令:

sudo yum install httpd -y

启动并设置开机自启:

centos 网站搭建,CentOS网站搭建如何入门?步骤有哪些?-图2
(图片来源网络,侵删)
sudo systemctl start httpd
sudo systemctl enable httpd

默认网站根目录为/var/www/html,可通过修改/etc/httpd/conf/httpd.conf中的DocumentRoot调整。

安装Nginx(可选)

若需更高性能,可选择Nginx,安装命令:

sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx

Nginx默认配置文件位于/etc/nginx/nginx.conf,网站根目录为/usr/share/nginx/html

安装数据库

以MySQL为例,安装MariaDB(CentOS默认替代MySQL):

centos 网站搭建,CentOS网站搭建如何入门?步骤有哪些?-图3
(图片来源网络,侵删)
sudo yum install mariadb-server mariadb -y
sudo systemctl start mariadb
sudo systemctl enable mariadb

初始化安全配置:

sudo mysql_secure_installation

根据提示设置root密码、移除匿名用户等。

安装PHP(动态网站支持)

若网站需要PHP支持(如WordPress),安装PHP及常用扩展:

sudo yum install php php-mysql php-fpm -y
sudo systemctl restart httpd  # 若使用Apache+PHP

测试PHP是否生效:在/var/www/html创建info.php<?php phpinfo(); ?>,访问http://服务器IP/info.php查看PHP信息。

部署网站文件

将网站代码上传至服务器,可通过SCP、FTP或Git方式,使用SCP上传:

scp -r /local/website root@服务器IP:/var/www/html/

设置文件权限:

sudo chown -R apache:apache /var/www/html/
sudo chmod -R 755 /var/www/html/

配置虚拟主机(多网站支持)

若需托管多个域名,需配置虚拟主机,以Apache为例,在/etc/httpd/conf.d/创建example.com.conf

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/example.com
    ErrorLog logs/example.com_error.log
    CustomLog logs/example.com_access.log combined
</VirtualHost>

重启Apache生效:

sudo systemctl restart httpd

安全加固

  1. 修改默认端口:将Apache或Nginx的监听端口从80改为其他端口(如8080)。
  2. 启用HTTPS:使用Let's Encrypt免费证书:
    sudo yum install certbot python3-certbot-apache -y
    sudo certbot --apache -d example.com
  3. 定期备份:编写脚本备份网站文件和数据库,
    # 备份网站文件
    tar -czf /backup/website_$(date +%F).tar.gz /var/www/html/
    # 备份数据库
    mysqldump -u root -p database_name > /backup/database_$(date +%F).sql

性能优化

  • 启用缓存:对于Apache,安装mod_cache模块;对于Nginx,配置proxy_cache
  • 压缩静态资源:在Apache中启用mod_deflate,在Nginx中配置gzip
  • 限制访问频率:使用mod_evasive(Apache)或ngx_http_limit_req_module(Nginx)防止DDoS攻击。

监控与维护

  • 日志分析:使用goaccess工具实时分析访问日志:
    sudo yum install goaccess -y
    goaccess /var/log/httpd/access.log -o report.html --real-time-html
  • 定期更新:定期执行sudo yum update -y更新系统和软件包。

相关问答FAQs

如何在CentOS上设置网站自动跳转HTTPS?
答:在Apache虚拟主机配置中添加以下规则:

<VirtualHost *:80>
    ServerName example.com
    Redirect permanent / https://example.com/
</VirtualHost>
<VirtualHost *:443>
    ServerName example.com
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
    DocumentRoot /var/www/html
</VirtualHost>

重启Apache后,访问HTTP会自动跳转至HTTPS。

网站访问慢如何排查?
答:可通过以下步骤排查:

  • 检查服务器负载:tophtop命令查看CPU、内存占用。
  • 分析访问日志:使用grepawk统计高频访问IP或URL,排查异常请求。
  • 检查网络带宽:使用iftopnethogs监控流量占用。
  • 优化数据库:检查慢查询日志(slow_query_log=1),优化SQL语句或添加索引。
  • 启用缓存:确保静态资源(图片、CSS、JS)已启用浏览器缓存或服务器端缓存。
分享:
扫描分享到社交APP
上一篇
下一篇