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

相关推荐

  • Linux环境下如何通过命令行打印坐标的具体数值和方法?

    在Linux系统中,“打印坐标”这一需求可能涉及多种场景,例如获取鼠标在图形界面中的实时坐标、窗口的几何坐标、终端光标位置,甚至是图像或文档中的特定点坐标,以下将分场景详细介绍实现方法,涵盖常用工具、命令及编程实现,图形界面下的坐标获取(鼠标与窗口)使用xdotool获取鼠标实时坐标xdotool是一款强大的命……

    2025年9月17日
    3700
  • Linux系统崩溃后如何还原?详细步骤与常用工具使用方法详解

    Linux系统还原通常指将系统恢复到之前某个正常状态,可能因系统损坏、误操作或性能下降而需要执行,根据场景不同,还原方式可分为系统级还原(如恢复出厂设置、快照回滚)、文件级还原(如恢复误删文件)以及修复式还原(如修复启动故障),以下是具体操作方法和注意事项,常见还原场景及操作方法通过系统快照还原(推荐,适用于日……

    2025年9月24日
    3400
  • 如何从基础开始系统学习Linux脚本文件的编写步骤与方法?

    Linux脚本文件是Linux系统中用于自动化任务、批量处理数据和简化重复操作的重要工具,通过将一系列命令组合在一起,实现高效执行,编写Linux脚本需要掌握基本语法、命令使用和调试技巧,以下是详细步骤和注意事项,环境准备在编写脚本前,需确保系统已安装bash解释器(Linux默认自带),创建脚本文件时,通常以……

    2025年9月26日
    3700
  • 如何实时掌控系统运行状态?

    确认系统是否为Linux通过终端执行:uname -a输出示例:Linux hostname 5.15.0-86-generic #96-Ubuntu SMP … x86_64 GNU/Linux若含 GNU/Linux 字样即为Linux系统,查看Linux发行版与版本通用方法(推荐)cat /etc/o……

    2025年7月10日
    7600
  • 如何查询Linux内存的使用情况及详细信息

    在Linux系统中,内存管理是系统性能优化的核心环节,准确查询内存使用情况有助于排查性能瓶颈、监控资源消耗,本文将详细介绍几种常用的Linux内存查询方法,包括基础命令、系统文件及工具,帮助用户全面掌握内存状态,基础命令:freefree是最直观的内存查询工具,默认以KB为单位显示内存总量、已用、空闲等信息,常……

    2025年9月13日
    5600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信