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

    如果配置正确

相关推荐
Eric.Lee20212 小时前
ubuntu 安装 Miniconda
linux·运维·python·ubuntu·miniconda
W***83203 小时前
如何在 Ubuntu 22.04 上安装 MySQL
linux·mysql·ubuntu
杨德杰7 小时前
Ubuntu设置VNC远程桌面
linux·运维·ubuntu
HIT_Weston7 小时前
43、【Ubuntu】【Gitlab】拉出内网 Web 服务:静态&动态服务
前端·ubuntu·gitlab
M***29918 小时前
在 Ubuntu 上安装 MySQL 的详细指南
mysql·ubuntu·adb
写代码的学渣8 小时前
Ubuntu/麒麟默认锁定root账户
linux·运维·ubuntu
全息数据1 天前
WSL2 中将 Ubuntu 20.04 升级到 22.04 的详细步骤
深度学习·ubuntu·wsl2
q***51891 天前
ubuntu 安装 Redis
linux·redis·ubuntu
稻谷君W1 天前
Ubuntu 远程访问 Win11 WSL2 并固定访问教程
linux·运维·ubuntu
虚伪的空想家1 天前
华为昇腾Atlas 800 A2物理服务器开启VT-d模式
运维·服务器·ubuntu·kvm·vt-d·直通