Ubuntu Server 部署网页 (如果无域名 可局域网访问)

1. 准备环境

  • 安装 Ubuntu Server:确保你已经安装了 Ubuntu Server 操作系统。

  • 更新系统 :登录服务器后,首先更新软件包列表和升级系统:

    复制代码

    BASH

    sudo apt update && sudo apt upgrade -y


2. 安装必要的软件

根据你的需求选择安装以下软件:

2.1. 安装 Nginx(推荐)

Nginx 是一个高性能的 Web 服务器,适合静态网站或反向代理。

复制代码

BASH

sudo apt install nginx -y

启动 Nginx 服务并确保其运行:

复制代码

BASH

sudo systemctl start nginx sudo systemctl enable nginx

2.2. 安装 Apache(可选)

如果你更倾向于使用 Apache,可以安装:

复制代码

BASH

sudo apt install apache2 -y

启动 Apache 服务:

复制代码

BASH

sudo systemctl start apache2 sudo systemctl enable apache2

2.3. 安装 MySQL 或 MariaDB(可选)

如果你的网页应用需要数据库支持,可以安装 MySQL 或 MariaDB:

复制代码

BASH

sudo apt install mysql-server -y # MySQL # 或 sudo apt install mariadb-server -y # MariaDB

启动数据库服务:

复制代码

BASH

sudo systemctl start mysql sudo systemctl enable mysql

2.4. 安装 PHP(可选)

如果你的网站使用 PHP(如 WordPress),安装 PHP 和相关扩展:

复制代码

BASH

sudo apt install php libapache2-mod-php php-mysql -y # 对于 Apache # 或 sudo apt install php-fpm -y # 对于 Nginx


3. 配置防火墙

确保服务器的安全,配置 ufw 防火墙:

复制代码

BASH

sudo ufw allow http sudo ufw allow https sudo ufw enable


4. 部署网页内容

将你的网页文件(HTML、CSS、JavaScript 等)上传到服务器的默认网页目录:

4.1. Nginx 默认目录

Nginx 的默认网页目录是 /var/www/html/,你可以将文件复制到这里:

复制代码

BASH

sudo cp /path/to/your/web/files /var/www/html/

调整文件权限:

复制代码

BASH

sudo chown -R www-data:www-data /var/www/html/ sudo chmod -R 755 /var/www/html/

4.2. Apache 默认目录

Apache 的默认网页目录是 /var/www/html/,同样将文件复制到这里:

复制代码

BASH

sudo cp /path/to/your/web/files /var/www/html/

调整文件权限:

复制代码

BASH

sudo chown -R www-data:www-data /var/www/html/ sudo chmod -R 755 /var/www/html/


5. 配置域名(可选)

如果你有域名,可以将其解析到服务器的 IP 地址,并配置 Nginx 或 Apache 的虚拟主机文件。

5.1. Nginx 虚拟主机配置

创建一个新的虚拟主机配置文件:

复制代码

BASH

sudo nano /etc/nginx/sites-available/your_domain.conf

添加以下内容(以 Nginx 为例):

复制代码

NGINX

server { listen 80; server_name your_domain.com www.your_domain.com; root /var/www/html; index index.html index.php; location / { try_files $uri $uri/ =404; } }

启用配置并重启 Nginx:

复制代码

BASH

sudo ln -s /etc/nginx/sites-available/your_domain.conf /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl restart nginx

5.2. Apache 虚拟主机配置

创建一个新的虚拟主机配置文件:

复制代码

BASH

sudo nano /etc/apache2/sites-available/your_domain.conf

添加以下内容(以 Apache 为例):

复制代码

APACHE

<VirtualHost *:80> ServerName your_domain.com ServerAlias www.your_domain.com

复制代码
+-------------------+
|  开始             |
+-------------------+
       |
       v
+-------------------+
|  准备环境         |
|  (更新系统)       |
+-------------------+
       |
       v
+-------------------+
|  安装必要软件    |
|  (Nginx/Apache/   |
|  MySQL/PHP)      |
+-------------------+
       |
       v
+-------------------+
|  配置防火墙      |
|  (开放 HTTP/HTTPS)|
+-------------------+
       |
       v
+-------------------+
|  部署网页内容    |
|  (上传文件到     |
|  /var/www/html/) |
+-------------------+
       |
       v
+-------------------+
|  配置域名(可选) |
|  (创建虚拟主机   |
|  配置文件)      |
+-------------------+
       |
       v
+-------------------+
|  完成             |
|  (访问网页测试)  |
+-------------------+

6.为了在没有域名的情况下,通过IP地址访问你的网页应用,可以按照以下步骤配置Nginx:

  1. 确认Nginx安装和运行状态

    复制代码

    BASH

    sudo systemctl status nginx

    如果Nginx没有运行,可以启动它:

    复制代码

    BASH

    sudo systemctl start nginx

  2. 编辑Nginx的默认配置文件

    复制代码

    BASH

    sudo nano /etc/nginx/sites-available/default

    确保配置文件中server_name设置为_,以接受所有IP地址的请求:

    复制代码

    NGINX

    server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } }

  3. 检查Nginx配置是否正确

    复制代码

    BASH

    sudo nginx -t

    如果没有错误,重新加载Nginx:

    复制代码

    BASH

    sudo systemctl reload nginx

  4. 配置防火墙以允许HTTP和HTTPS流量

    复制代码

    BASH

    sudo ufw allow http sudo ufw allow https sudo ufw enable

  5. 通过IP地址访问网页

    在浏览器中输入:

    复制代码

    TEXT

    http://your_server_ip

    替换your_server_ip为你的Ubuntu服务器的实际IP地址,例如:

    复制代码

    TEXT

    http://192.168.1.100

  6. 验证网页访问

    如果配置正确

相关推荐
sheeta19981 小时前
TypeScript references 配置与 emit 要求详解
javascript·ubuntu·typescript
ancktion2 小时前
ubuntu多gcc版本切换
linux·运维·ubuntu
贵沫末2 小时前
Claude Code使用
ubuntu
DeepHacking3 小时前
Ubuntu 22.04 安装 Allow Locked Remote Desktop 扩展:解决锁屏后 mstsc 无法连接的问题
linux·运维·ubuntu
成为你的宁宁5 小时前
【apt update突然报错Temporary failure resolving ‘cn.archive.ubuntu.com‘】
linux·运维·ubuntu
SilentSamsara14 小时前
SSH 远程管理:密钥登录 + 隧道转发,一次性配置好
linux·运维·服务器·ubuntu·centos·ssh
xuanwenchao20 小时前
Mac M1/M2/M3/M4/M5芯片-系统安装Ubuntu
linux·ubuntu·macos
叫我刘同学21 小时前
腾讯云 Ubuntu 服务器部署 Hermes Agent 详细安装教程
服务器·ubuntu·腾讯云
fzil0011 天前
让 AI 自己协作 —— 多智能体(Swarm)系统的设计与实现
java·开发语言·人工智能·ubuntu
企鹅的蚂蚁1 天前
Ubuntu 22.04 终端进阶:Terminator 安装与快捷键完全手册
linux·运维·ubuntu