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. 验证网页访问

    如果配置正确

相关推荐
m0_748254662 小时前
在 Ubuntu 上安装 MySQL 的详细指南
mysql·ubuntu·adb
_GR6 小时前
Redis存储⑤Redis五大数据类型之 List 和 Set。
linux·数据库·redis·ubuntu·缓存
Snow_Dragon_L1 天前
【MySQL】语言连接
android·数据库·后端·sql·mysql·ubuntu·adb
牛十二1 天前
Mac本地部署DeekSeek-R1下载太慢怎么办?
linux·运维·ubuntu
中医是一种语言艺术1 天前
Ubuntu下Tkinter绑定数字小键盘上的回车键(PySide6类似)
ubuntu·数字小键盘·回车键
geovindu1 天前
VMware Workstation Pro安装了Ubuntu 24.04实现与Windows10之间的复制粘贴
ubuntu
loosed1 天前
ubuntu ip设置
ubuntu
_清风来叙1 天前
【Ubuntu】ARM交叉编译开发环境解决“没有那个文件或目录”问题
linux·arm开发·ubuntu
m0_748254881 天前
Ubuntu 20.04配置网络
网络·ubuntu·php