首页主机资讯如何利用centos lnmp搭建网站

如何利用centos lnmp搭建网站

时间2025-11-28 13:48:03发布访客分类主机资讯浏览1485
导读:在 CentOS 上搭建 LNMP 网站的实操指南 一 环境准备与版本建议 操作系统建议:CentOS 7/8(示例使用 CentOS 7.6)。 组件版本示例:Nginx 1.27.0、MariaDB 10.11、PHP 8.3.8(也...

在 CentOS 上搭建 LNMP 网站的实操指南

一 环境准备与版本建议

  • 操作系统建议:CentOS 7/8(示例使用 CentOS 7.6)。
  • 组件版本示例:Nginx 1.27.0MariaDB 10.11PHP 8.3.8(也可选择 MySQL 8.0)。
  • 准备事项:
    • 已创建并登录 Linux 云服务器/虚拟机,具备 sudo 权限。
    • 开放安全组/防火墙的 TCP 80/443 端口。
    • 域名解析已指向服务器 IP(准备上 HTTPS 时更方便)。

二 安装与配置 Nginx

  • 添加 Nginx 官方仓库并安装:
    • 创建仓库文件:sudo vi /etc/yum.repos.d/nginx.repo,写入:
      [nginx]
      name=nginx repo
      baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
      gpgcheck=0
      enabled=1
      
    • 安装与启动:
      sudo yum install -y nginx
      sudo systemctl start nginx
      sudo systemctl enable nginx
      
  • 基本站点配置(取消 IPv6 监听,启用 PHP 解析):
    • 编辑:sudo vim /etc/nginx/conf.d/default.conf
    • 示例 server 块:
      server {
          
          listen 80;
          
          root /usr/share/nginx/html;
          
          server_name localhost;
          
          index index.php index.html index.htm;
      
      
          location / {
          
              try_files $uri $uri/ =404;
      
          }
          
      
          error_page 500 502 503 504 /50x.html;
      
          location = /50x.html {
          
              root /usr/share/nginx/html;
      
          }
      
      
          location ~ \.php$ {
          
              fastcgi_pass 127.0.0.1:9000;
          
              fastcgi_index index.php;
          
              fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          
              include fastcgi_params;
      
          }
      
      }
          
      
    • 检查并重载 Nginx:
      sudo nginx -t &
          &
           sudo systemctl reload nginx
      
  • 防火墙放行(如启用 firewalld):
    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    sudo firewall-cmd --reload
    
  • 访问测试:浏览器打开 http://服务器IP,应看到 Nginx 欢迎页。

三 安装与配置 MariaDB/MySQL

  • 安装 MariaDB(推荐):
    sudo yum install -y mariadb-server mariadb
    sudo systemctl start mariadb
    sudo systemctl enable mariadb
    sudo mysql_secure_installation
    
  • 如需安装 MySQL 8.0(官方 YUM 源):
    sudo yum install -y wget
    wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
    sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm
    sudo yum install -y mysql-community-server
    sudo systemctl start mysqld
    sudo systemctl enable mysqld
    # 查看初始密码
    sudo grep 'temporary password' /var/log/mysqld.log
    # 登录后修改密码(示例)
    mysql -u root -p
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPassword!';
        
    
  • 创建网站数据库与用户(示例):
    mysql -u root -p
    CREATE DATABASE your_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
        
    CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'YourStrongPassword!';
        
    GRANT ALL PRIVILEGES ON your_db.* TO 'your_user'@'localhost';
        
    FLUSH PRIVILEGES;
        
    EXIT;
        
    
  • 安全建议:仅本地访问数据库,远程访问需显式授权并限制来源 IP。

四 安装与配置 PHP 与 PHP-FPM

  • 安装 PHP 与常用扩展(示例为 PHP 8.3;如仓库无该版本,可改用 Remi 源或编译安装):
    sudo yum install -y php php-fpm php-mysqlnd php-gd php-xml php-mbstring
    sudo systemctl start php-fpm
    sudo systemctl enable php-fpm
    
  • 确认 PHP-FPM 监听方式(两种其一,保持与 Nginx 配置一致):
    • TCP 方式(已在 Nginx 示例中使用):监听 127.0.0.1:9000
    • Socket 方式(更常见):编辑 /etc/php-fpm.d/www.conf,将
      listen = 127.0.0.1:9000
      
      改为
      listen = /var/run/php-fpm/php-fpm.sock
      listen.owner = nginx
      listen.group = nginx
      listen.mode = 0660
      
      并在 Nginx 的 location ~ \.php$ 中改为:
      fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
          
      
  • 重载服务:
    sudo systemctl reload php-fpm
    sudo nginx -t &
        &
         sudo systemctl reload nginx
    
  • 运行环境测试:
    echo "<
        ?php phpinfo();
         ?>
    " | sudo tee /usr/share/nginx/html/info.php
    
    浏览器访问 http://服务器IP/info.php,应看到 PHP 信息页。

五 部署网站与上线

  • 部署代码与目录权限:
    sudo mkdir -p /var/www/your_site
    sudo chown -R nginx:nginx /var/www/your_site
    # 将站点文件上传至 /var/www/your_site
    
  • 新建虚拟主机配置(示例):
    sudo vim /etc/nginx/conf.d/your_site.conf
    
    内容示例:
    server {
        
        listen 80;
        
        server_name your_domain.com www.your_domain.com;
        
        root /var/www/your_site/public;
        
        index index.php index.html;
    
    
        location / {
        
            try_files $uri $uri/ /index.php?$query_string;
    
        }
    
    
        location ~ \.php$ {
        
            include fastcgi_params;
        
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        
            fastcgi_pass 127.0.0.1:9000;
          # 或 unix:/var/run/php-fpm/php-fpm.sock;
    
        }
    
    
        location ~ /\.ht {
        
            deny all;
    
        }
    
    }
        
    
    重载 Nginx:sudo nginx -t & & sudo systemctl reload nginx
  • 导入数据库(如有备份):
    mysql -u your_user -p your_db <
         your_data.sql
    
  • 上线与优化建议:
    • 配置 HTTPS/TLS:使用 Certbot 一键申请免费证书(Nginx 插件):
      sudo yum install -y certbot python3-certbot-nginx
      sudo certbot --nginx -d your_domain.com -d www.your_domain.com
      
    • 性能与安全:启用 OPcache、限制上传大小、关闭显示错误到浏览器、定期更新系统与组件、备份数据库与代码。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何利用centos lnmp搭建网站
本文地址: https://pptw.com/jishu/758993.html
怎样保障centos lnmp服务稳定运行 centos lnmp安全漏洞防范措施

游客 回复需填写必要信息