温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ubuntu如何安装和配置Web服务器

发布时间:2025-12-31 05:43:27 来源:亿速云 阅读:120 作者:小樊 栏目:系统运维

Ubuntu安装与配置Web服务器

一 准备与环境检查

  • 更新系统并确认网络连通:sudo apt update && sudo apt upgrade -y
  • 安装常用工具:sudo apt install -y curl wget vim
  • 若使用云服务器,放行安全组/本机防火墙的 TCP 80/443 端口
  • 仅安装并运行一种 Web 服务(ApacheNginx),避免端口冲突

二 安装与启动

  • 安装 Nginx
    • 安装:sudo apt install -y nginx
    • 启动与开机自启:sudo systemctl start nginx && sudo systemctl enable nginx
    • 验证:在浏览器访问 http://服务器IP,出现 Nginx 欢迎页即成功
  • 安装 Apache
    • 安装:sudo apt install -y apache2
    • 启动与开机自启:sudo systemctl start apache2 && sudo systemctl enable apache2
    • 验证:在浏览器访问 http://服务器IP,出现 Apache2 Ubuntu Default Page 即成功

三 配置站点与目录

  • 通用准备
    • 创建站点目录:sudo mkdir -p /var/www/example.com
    • 写入测试页:echo “

      Hello from example.com

      ” | sudo tee /var/www/example.com/index.html
    • 设置权限:sudo chown -R www-data:www-data /var/www/example.com && sudo chmod -R 755 /var/www
  • Nginx 虚拟主机(Server Block)
    • 新建配置:sudo nano /etc/nginx/sites-available/example.com
    • 示例:
      server {
        listen 80;
        server_name example.com www.example.com;
        root /var/www/example.com;
        index index.html;
        location / {
          try_files $uri $uri/ =404;
        }
      }
      
    • 启用站点:sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
    • 检查并重载:sudo nginx -t && sudo systemctl reload nginx
  • Apache 虚拟主机(VirtualHost)
    • 新建配置:sudo nano /etc/apache2/sites-available/example.com.conf
    • 示例:
      <VirtualHost *:80>
        ServerName example.com
        DocumentRoot /var/www/example.com
        <Directory /var/www/example.com>
          Options Indexes FollowSymLinks
          AllowOverride All
          Require all granted
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
      </VirtualHost>
      
    • 启用站点与模块:sudo a2ensite example.com.conf && sudo a2enmod rewrite
    • 检查并重载:sudo apache2ctl configtest && sudo systemctl reload apache2

四 防火墙与端口

  • UFW 放行 Web 流量
    • 使用 Nginx:sudo ufw allow ‘Nginx Full’
    • 使用 Apache:sudo ufw allow ‘Apache Full’
    • 启用防火墙:sudo ufw enable && sudo ufw status
  • 云服务器安全组
    • 入方向放行 80/443(TCP)

五 启用 HTTPS 与常见问题

  • 使用 Let’s Encrypt 自动申请并配置证书
    • Nginx:sudo apt install -y certbot python3-certbot-nginx && sudo certbot --nginx -d example.com -d www.example.com
    • Apache:sudo apt install -y certbot python3-certbot-apache && sudo certbot --apache -d example.com -d www.example.com
    • 证书会自动续期(certbot 自带定时任务)
  • 常见问题排查
    • 端口冲突:确保仅运行一个 Web 服务(80/443 只能被一个进程监听)
    • 配置语法:Nginx 用 sudo nginx -t;Apache 用 sudo apache2ctl configtest
    • 权限问题:站点目录属主应为 www-data:www-data,权限 755
    • 防火墙/安全组:确认已放行 80/443
    • 查看日志:Nginx 访问/错误日志在 /var/log/nginx/;Apache 在 /var/log/apache2/
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI