Ubuntu真的完全免费吗?

前期准备

  1. 服务器选择

    • 云服务器:推荐阿里云、酷盾(1核2G起步,约¥60/月),选择Ubuntu 22.04或CentOS 7+系统。
    • 本地服务器:需公网IP并配置端口转发(80/443端口)。
    • 域名注册:在阿里云/GoDaddy购买域名(如 example.com),完成实名认证。
  2. 基础环境配置

    # 更新系统
    sudo apt update && sudo apt upgrade -y  # Ubuntu/Debian
    sudo yum update -y && sudo yum upgrade -y  # CentOS
    # 创建管理用户(非root)
    sudo adduser webadmin
    sudo usermod -aG sudo webadmin  # 授予sudo权限

安装LAMP/LEMP环境

方案1:LAMP(Apache + MySQL + PHP)

# CentOS
sudo yum install httpd mariadb-server php php-mysqlnd -y
sudo systemctl start httpd mariadb
sudo systemctl enable httpd mariadb

方案2:LEMP(Nginx + MySQL + PHP)

# CentOS
sudo yum install nginx mariadb-server php-fpm php-mysqlnd -y
sudo systemctl start nginx mariadb php-fpm
sudo systemctl enable nginx mariadb php-fpm

配置Web服务器

Apache虚拟主机(LAMP)

  1. 创建网站目录:
    sudo mkdir -p /var/www/example.com/public_html
    sudo chown -R webadmin:webadmin /var/www/example.com
  2. 配置虚拟主机:
    sudo nano /etc/apache2/sites-available/example.com.conf
    <VirtualHost *:80>
       ServerName example.com
       ServerAlias www.example.com
       DocumentRoot /var/www/example.com/public_html
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
  3. 启用配置:
    sudo a2ensite example.com.conf
    sudo systemctl reload apache2

Nginx虚拟主机(LEMP)

  1. 创建网站目录(同上)。

  2. 配置虚拟主机:

    sudo nano /etc/nginx/conf.d/example.com.conf
    server {
       listen 80;
       server_name example.com www.example.com;
       root /var/www/example.com/public_html;
       index index.php index.html;
       location / {
           try_files $uri $uri/ =404;
       }
       location ~ \.php$ {
           include snippets/fastcgi-php.conf;
           fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;  # 根据PHP版本调整
       }
    }
  3. 重启Nginx:

    sudo nginx -t && sudo systemctl reload nginx

域名解析与测试

  1. 域名解析

    • 在域名控制台添加A记录:
      → 服务器IP
      www → 服务器IP
    • 等待生效(通常10分钟)。
  2. 测试页面

    echo "<?php phpinfo(); ?>" > /var/www/example.com/public_html/index.php

    访问 http://example.com,显示PHP信息页即成功。


安装网站程序(以WordPress为例)

  1. 下载并解压

    cd /var/www/example.com/public_html
    wget https://wordpress.org/latest.tar.gz
    tar -xzvf latest.tar.gz --strip-components=1
    rm latest.tar.gz
  2. 配置数据库

    sudo mysql -u root -p
    # 执行SQL命令:
    CREATE DATABASE wp_db;
    CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'StrongPassword!123';
    GRANT ALL PRIVILEGES ON wp_db.* TO 'wp_user'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
  3. 完成安装
    访问 http://example.com,按向导填写数据库信息(数据库名:wp_db,用户:wp_user,密码:StrongPassword!123)。


安全加固

  1. 防火墙配置

    sudo ufw allow 80/tcp   # HTTP
    sudo ufw allow 443/tcp  # HTTPS
    sudo ufw allow 22/tcp   # SSH
    sudo ufw enable
  2. SSL证书(Let’s Encrypt)

    # 安装Certbot
    sudo apt install certbot python3-certbot-apache -y  # Apache
    sudo apt install certbot python3-certbot-nginx -y   # Nginx
    # 获取证书
    sudo certbot --apache -d example.com -d www.example.com  # Apache
    sudo certbot --nginx -d example.com -d www.example.com   # Nginx

    证书自动续期已配置。

  3. 文件权限优化

    sudo chmod 750 /var/www/example.com/public_html
    sudo find /var/www/example.com -type d -exec chmod 755 {} \;
    sudo find /var/www/example.com -type f -exec chmod 644 {} \;

维护与管理

  • 备份:

    # 数据库备份
    mysqldump -u root -p wp_db > wp_backup_$(date +%F).sql
    # 网站文件备份
    tar -czvf website_backup_$(date +%F).tar.gz /var/www/example.com
  • 更新:

    sudo apt update && sudo apt upgrade -y  # 系统更新
    sudo /usr/local/bin/wp-cli core update  # WordPress更新(需先安装WP-CLI)

常见问题排查

  1. 403 Forbidden:检查目录权限(chmod 755 /var/www)和SELinux状态(setenforce 0临时关闭)。
  2. 数据库连接失败:确认MySQL用户权限及wp-config.php中的密码是否正确。
  3. 502 Bad Gateway:PHP-FPM未运行(sudo systemctl restart php-fpm)。

引用说明

本文参考以下权威资源:

  • Apache官方文档:https://httpd.apache.org/docs/
  • Nginx官方指南:https://nginx.org/en/docs/
  • Let’s Encrypt Certbot:https://certbot.eff.org/
  • WordPress安装手册:https://wordpress.org/support/article/installation/

重要提示:定期更新系统和软件是安全的核心,对于企业级应用,建议使用云服务商的安全组、WAF防火墙和自动备份服务。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5920.html

赞 (0)
酷番叔酷番叔
上一篇 2025年7月1日 01:04
下一篇 2025年7月1日 01:41

相关推荐

  • 如何快速提取data.txt第2、4、5列?

    方法1:使用 cut 命令(简单分隔符场景)适用场景:列由固定分隔符(如逗号、制表符)分隔,且列位置连续,命令格式:cut -d '分隔符' -f 列序号列表 文件名示例:# 提取第1到第3列(分隔符为制表符,默认)cut -f 1-3 data.txt注意:-d 指定分隔符(默认制表符),-f……

    2025年7月28日
    24600
  • Linux系统如何查看是否处于热备状态?

    在Linux系统中,热备(Hot Standby)是指通过高可用集群技术,确保主节点故障时备用节点能自动接管服务,保障业务连续性,要查看Linux系统是否配置了热备及热备状态,需结合集群管理工具、服务状态、系统资源等多维度进行排查,以下从常见集群场景出发,详细说明查看方法,基于Pacemaker/Corosyn……

    2025年10月8日
    30600
  • Linux系统下7z压缩工具如何安装?

    在Linux系统中,7z是一款功能强大的压缩工具,支持多种压缩格式(如7z、zip、gzip、bzip2等),具有高压缩率和加密功能,安装7z的方法因Linux发行版的不同而有所差异,以下是几种常见的安装方式,涵盖主流发行版及通用安装手段,通过包管理器安装(推荐)不同Linux发行版默认的包管理器不同,以下以D……

    2025年9月17日
    25100
  • 如何创建mylib.exp文件

    在Linux系统中,.exp文件通常用于共享库(动态链接库)的符号导出控制,尤其在开发复杂库时管理可见符号(如GCC链接器场景),以下是创建和使用.exp文件的详细方法:.exp文件的作用.exp文件是导出符号表(Export Symbol Table) 的文本文件,用于显式声明共享库(.so文件)中允许外部程……

    2025年8月4日
    26100
  • Linux如何申请大内存?

    在Linux系统中,申请大内存是许多高性能计算、大数据处理或实时应用场景中的常见需求,由于Linux内存管理的虚拟内存机制、物理内存限制以及内核参数约束,直接申请“大内存”时可能会遇到各种问题,本文将详细说明Linux中申请大内存的常见方法、原理及注意事项,帮助开发者高效、安全地实现内存分配,Linux内存管理……

    2025年10月8日
    30200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信