Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the acf domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/wwwroot/www.elurens.com/wp-includes/functions.php on line 6121
如何在Linux服务器下新建网站?需要哪些步骤?_e路人seo优化

网站建设

wzjs

如何在Linux服务器下新建网站?需要哪些步骤?

2025-07-08 00:12:43

Linux服务器下如何新建网站:一步步搭建你的线上空间

拥有一个Linux服务器,意味着你掌握了一块功能强大的网络基石,无论是建立个人博客、企业官网,还是运行一个Web应用,在Linux服务器上新建一个网站是核心技能,这个过程涉及多个环节,需要清晰的步骤和一定的技术理解,本文将引导你完成从零开始,在Linux服务器上成功部署一个新网站的全过程。

核心准备:域名与服务器

linux服务器下如何新建网站
  1. 域名准备:

    • 你需要一个域名(如 yourdomain.com),在域名注册商处购买并完成实名认证。
    • 关键步骤:域名解析。 登录域名注册商或DNS服务商(如阿里云DNS、Cloudflare)的管理后台,添加一条A记录
      • 主机记录: 通常填写 (表示主域名本身) 或 www (表示 www.yourdomain.com) 或你需要的子域名(如 blog)。
      • 记录类型: 选择 A
      • 记录值: 填写你的Linux服务器的公网IP地址
      • TTL: 默认值即可(如600秒),保存设置。
    • 重要提示: 域名解析需要时间(几分钟到几小时不等)才能在全球生效,在生效前,你无法通过域名访问服务器。
  2. 服务器基础环境:

    • 确保你拥有一个安装了Linux操作系统(如Ubuntu, CentOS, Debian等)的服务器,并通过SSH拥有管理员(root或具有sudo权限的)用户访问权限。
    • 服务器需要开放必要的端口:80 (HTTP) 和 443 (HTTPS) 是必须的。22 (SSH) 用于管理,请在你的服务器安全组(防火墙)规则中放行这些端口。

核心步骤:搭建网站运行环境

一个典型的动态网站(如使用PHP的WordPress)需要三个基础组件:Web服务器、数据库和编程语言解释器,最流行的组合是 LNMP/LAMP

  • LNMP: Linux + Nginx + MySQL/MariaDB + PHP
  • LAMP: Linux + Apache + MySQL/MariaDB + PHP

本文以 LNMP 环境为例进行说明,因其性能和高并发处理能力在当今更受青睐,选择适合你的发行版命令(Ubuntu/Debian 使用 apt, CentOS/RHEL 使用 yumdnf)。

  1. 更新系统包:

    linux服务器下如何新建网站
    sudo apt update && sudo apt upgrade -y  # Ubuntu/Debian
    # 或
    sudo yum update -y  # CentOS 7
    # 或
    sudo dnf upgrade -y  # CentOS 8+/RHEL
  2. 安装 Nginx Web 服务器:

    sudo apt install nginx -y  # Ubuntu/Debian
    # 或
    sudo yum install nginx -y  # CentOS 7
    # 或
    sudo dnf install nginx -y  # CentOS 8+/RHEL

    安装完成后,启动Nginx并设置开机启动:

    sudo systemctl start nginx
    sudo systemctl enable nginx

    在浏览器中输入你的服务器公网IP地址,应该能看到Nginx的默认欢迎页面,这表明Nginx已成功运行。

  3. 安装 MySQL/MariaDB 数据库:

    sudo apt install mysql-server -y  # Ubuntu/Debian (通常安装MariaDB)
    # 或
    sudo yum install mariadb-server -y  # CentOS 7
    # 或
    sudo dnf install mariadb-server -y  # CentOS 8+/RHEL

    启动数据库并设置开机启动:

    sudo systemctl start mariadb  # 或 mysql
    sudo systemctl enable mariadb  # 或 mysql

    关键安全配置: 运行初始安全设置脚本:

    linux服务器下如何新建网站
    sudo mysql_secure_installation

    按提示操作:设置root密码(务必牢记),移除匿名用户,禁止root远程登录,删除测试数据库,重载权限表。

  4. 安装 PHP 及其常用扩展:
    PHP版本需根据你的网站程序要求选择(如PHP 7.4, 8.0, 8.1等),以安装PHP 8.1和Nginx所需的核心扩展为例:

    # Ubuntu/Debian (可能需要先添加PPA或使用默认仓库)
    sudo apt install php8.1 php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-zip -y
    # CentOS 7 (可能需要启用EPEL/REMI仓库)
    sudo yum install epel-release
    sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
    sudo yum-config-manager --enable remi-php81
    sudo yum install php php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml php-zip -y
    # CentOS 8+/RHEL (使用AppStream)
    sudo dnf install php php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml php-zip -y

    安装完成后,启动PHP-FPM进程管理器并设置开机启动:

    sudo systemctl start php-fpm
    sudo systemctl enable php-fpm

核心步骤:创建你的网站

  1. 创建网站根目录:
    网站文件存放在 /var/www/ 目录下,为你的域名创建一个专属目录:

    sudo mkdir -p /var/www/yourdomain.com/public_html
    • yourdomain.com 替换为你的实际域名,这有助于管理多个网站。
    • public_html 是网站实际文件(如index.html, WordPress文件)存放的位置。
  2. 设置目录权限:
    为了保证安全性和Web服务器能正常读写文件,需要设置合适的权限,通常将目录所有权赋予Web服务器用户(Nginx默认用户通常是 www-datanginx):

    # 确定Nginx用户 (Ubuntu/Debian通常是www-data, CentOS通常是nginx)
    grep -i 'user' /etc/nginx/nginx.conf
    # 假设用户是 www-data (请根据实际情况替换)
    sudo chown -R www-data:www-data /var/www/yourdomain.com/public_html
    sudo chmod -R 755 /var/www/yourdomain.com

    专业提示: 对于需要上传文件的程序(如WordPress),可能需要更精细的权限控制(如将 wp-content/uploads 目录权限设为775或设置SGID位)。

  3. 创建Nginx服务器块(虚拟主机)配置:
    Nginx使用服务器块(server block)来管理多个网站,在 /etc/nginx/sites-available/ 目录下创建配置文件:

    sudo nano /etc/nginx/sites-available/yourdomain.com

    粘贴以下基础配置模板(根据你的PHP版本和路径修改):

    server {
        listen 80;
        listen [::]:80; # IPv6
        server_name yourdomain.com www.yourdomain.com; # 替换为你的域名
        root /var/www/yourdomain.com/public_html;
        index index.php index.html index.htm;
        location / {
            try_files $uri $uri/ /index.php?$query_string; # 对PHP程序友好
        }
        # 处理PHP文件请求
        location ~ \.php$ {
            include snippets/fastcgi-php.conf; # Ubuntu/Debian路径
            # 或 include /etc/nginx/fastcgi_params; # CentOS常见路径
            fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; # 替换为你的PHP-FPM sock路径和版本
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
        # 静态文件缓存设置 (可选但推荐)
        location ~* \.(jpg|jpeg|gif|png|css|js|ico|webp)$ {
            expires 30d;
            add_header Cache-Control "public, no-transform";
        }
        # 拒绝访问隐藏文件 (如.htaccess)
        location ~ /\.ht {
            deny all;
        }
        # 自定义错误页 (可选)
        error_page 404 /404.html;
        location = /404.html {
            root /var/www/yourdomain.com/public_html;
            internal;
        }
    }

    重要修改点:

    • server_name: 务必替换成你的域名。
    • root: 指向你创建的 public_html 目录。
    • fastcgi_pass: 确认PHP-FPM sock文件的路径和版本(ls /var/run/php/php*.sock 查看),这是Nginx与PHP通信的关键。
  4. 启用网站配置:
    /etc/nginx/sites-enabled/ 目录下创建一个指向可用配置的符号链接:

    sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/

    测试Nginx配置是否有语法错误:

    sudo nginx -t

    如果显示 syntax is oktest is successful,则重载Nginx使新配置生效:

    sudo systemctl reload nginx
  5. 创建测试文件:
    在网站根目录 /var/www/yourdomain.com/public_html/ 下创建一个简单的测试文件:

    sudo nano /var/www/yourdomain.com/public_html/index.html
    <!DOCTYPE html>
    <html>
    <head>
        <title>Hello World!</title>
    </head>
    <body>
        <h1>Congratulations!</h1>
        <p>Your website on Linux server is working!</p>
    </body>
    </html>

    保存退出,在浏览器中访问你的域名(http://yourdomain.com),应该能看到这个“Congratulations!”页面。

  6. (可选但强烈推荐)安装SSL证书启用HTTPS:
    使用免费且自动化的Let’s Encrypt证书是标准做法,安装 certbot 工具:

    # Ubuntu/Debian
    sudo apt install certbot python3-certbot-nginx -y
    # CentOS 7 (需启用EPEL)
    sudo yum install epel-release
    sudo yum install certbot python3-certbot-nginx -y
    # CentOS 8+/RHEL
    sudo dnf install epel-release
    sudo dnf install certbot python3-certbot-nginx -y

    运行Certbot获取并自动配置证书:

    sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

    按照提示操作(输入邮箱、同意服务条款、是否接收邮件),Certbot会自动修改你的Nginx配置,将HTTP请求重定向到HTTPS,并设置好证书路径,它会自动处理续期。

  7. 部署你的网站程序:

    • 你可以将你的网站程序文件(如WordPress压缩包)上传到 /var/www/yourdomain.com/public_html/ 目录(使用FTP/SFTP客户端或命令行scp/rsync)。
    • 解压文件(如 unzip wordpress.zip)。
    • 如果程序需要数据库,登录MySQL创建专属数据库和用户:
      mysql -u root -p
      CREATE DATABASE yourdbname; -- 创建数据库
      CREATE USER 'yourdbuser'@'localhost' IDENTIFIED BY 'StrongPassword!'; -- 创建用户
      GRANT ALL PRIVILEGES ON yourdbname.* TO 'yourdbuser'@'localhost'; -- 授权
      FLUSH PRIVILEGES; -- 刷新权限
      EXIT;
    • 访问你的域名(现在是 https://yourdomain.com),通常会出现程序的安装界面(如WordPress的著名5分钟安装),按照提示输入数据库信息(数据库名、用户名、密码、数据库主机 localhost)和管理员账户信息即可完成安装。

建站后的关键点:

  • 安全加固: 定期更新系统和软件包(sudo apt update && sudo apt upgrade / sudo yum update / sudo dnf upgrade),使用强密码,考虑安装防火墙(如 ufw)并严格控制入站规则,限制SSH登录(禁用root远程登录、使用密钥认证)。
  • 备份!备份!备份! 定期备份网站文件(/var/www/yourdomain.com)和数据库(使用 mysqldump 命令),这是应对故障、误操作、攻击的最有效保障。
  • 性能监控: 使用 top, htop, free -m, df -h 等命令监控服务器资源使用情况,对于高流量网站,可能需要进行Nginx缓存、PHP OPcache、数据库查询优化等。
  • 日志分析: Nginx访问日志(/var/log/nginx/access.log)和错误日志(/var/log/nginx/error.log)是排查问题、分析访问来源的重要工具,可以使用工具如 goaccessawstats 进行分析。

写在最后

在Linux服务器上新建一个网站,步骤虽多,但逻辑清晰,从域名解析、环境搭建(LNMP/LAMP)、目录权限、服务器配置(Nginx/Apache)、安全加密(SSL),到最终程序部署,每一步都关系到网站的稳定运行和安全访问,掌握这个过程,不仅能让你拥有完全掌控的线上空间,更是理解Web服务运行原理的宝贵实践,遇到问题查看日志、善用搜索引擎和社区资源,是Linux运维的常态,保持学习的热情,持续关注安全与性能优化,你的网站定能在互联网的海洋中稳健航行,亲手在Linux服务器上点亮一个网站,这种掌控感和成就感,正是开源世界的魅力所在。


相关文章

2024年,SaaS软件行业碰到获客难、增长慢等问题吗?

我们努力让每一次邂逅总能超越期待