OpenEuler学习笔记(十):用OpenEuler搭建web服务器

以下是在OpenEuler系统上搭建Web服务器的详细步骤,这里以常见的Nginx为例。

1. 系统更新

在进行任何操作之前,最好先更新系统的软件包,确保系统是最新的状态。

bash 复制代码
sudo dnf update -y

2. 安装Nginx

可以使用OpenEuler的软件包管理器dnf来安装Nginx。

bash 复制代码
sudo dnf install nginx -y

3. 启动Nginx服务

安装完成后,启动Nginx服务并设置为开机自启。

bash 复制代码
# 启动Nginx服务
sudo systemctl start nginx
# 设置Nginx开机自启
sudo systemctl enable nginx

4. 配置防火墙

如果系统开启了防火墙,需要开放HTTP(80端口)和HTTPS(443端口),以便外部用户可以访问Web服务器。

bash 复制代码
# 开放80和443端口
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
# 重新加载防火墙规则
sudo firewall-cmd --reload

5. 验证Nginx是否正常工作

在浏览器中输入服务器的IP地址,如果看到Nginx的欢迎页面,说明Nginx已经成功安装并运行。

6. 配置Nginx虚拟主机(可选)

如果你想在同一台服务器上托管多个网站,可以配置Nginx虚拟主机。

首先,创建一个新的配置文件,例如example.com.conf

bash 复制代码
sudo vim /etc/nginx/conf.d/example.com.conf

在文件中添加以下内容:

nginx 复制代码
server {
    listen 80;
    server_name example.com;  # 替换为你的域名

    root /var/www/example.com;  # 网站文件存放目录
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}

保存并退出文件后,创建网站文件存放目录并添加示例页面。

bash 复制代码
sudo mkdir -p /var/www/example.com
sudo echo "Hello, World!" > /var/www/example.com/index.html

最后,检查Nginx配置文件是否有语法错误,并重新加载配置。

bash 复制代码
sudo nginx -t
sudo systemctl reload nginx

代码解释与使用说明

  • 系统更新sudo dnf update -y命令用于更新系统中的所有软件包,-y参数表示自动确认所有提示。
  • 安装Nginxsudo dnf install nginx -y命令用于安装Nginx,同样使用-y参数自动确认安装。
  • 启动和设置开机自启systemctl是用于管理系统服务的命令,start用于启动服务,enable用于设置服务开机自启。
  • 防火墙配置firewall-cmd是OpenEuler的防火墙管理命令,--permanent表示永久生效,--add-service用于添加服务端口,--reload用于重新加载防火墙规则。
  • 虚拟主机配置 :在Nginx的配置文件中,server块用于定义一个虚拟主机,listen指定监听的端口,server_name指定域名,root指定网站文件的存放目录,index指定默认的索引文件。

按照以上步骤操作,你就可以在OpenEuler系统上成功搭建一个Web服务器。

相关推荐
xhbaitxl2 小时前
算法学习day39-动态规划
学习·算法·动态规划
智者知已应修善业2 小时前
【洛谷P9975奶牛被病毒传染最少数量推导,导出多样例】2025-2-26
c语言·c++·经验分享·笔记·算法·推荐算法
何中应2 小时前
nvm安装使用
前端·node.js·开发工具
hweiyu002 小时前
Linux 命令:tr
linux·运维·服务器
Trouvaille ~2 小时前
【Linux】应用层协议设计实战(一):自定义协议与网络计算器
linux·运维·服务器·网络·c++·http·应用层协议
ZH15455891312 小时前
Flutter for OpenHarmony Python学习助手实战:数据库操作与管理的实现
python·学习·flutter
雯0609~2 小时前
hiprint:实现项目部署与打印3-vue版本-独立出模板设计与模板打印页面
前端·vue.js·arcgis
allway22 小时前
基于华为taishan200服务器、arm架构kunpeng920 cpu的虚拟化实战
linux·运维·服务器
Junlan272 小时前
Cursor使用入门及连接服务器方法(更新中)
服务器·人工智能·笔记
CSCN新手听安2 小时前
【linux】高级IO,I/O多路转接之poll,接口和原理讲解,poll版本的TCP服务器
linux·运维·服务器·c++·计算机网络·高级io·poll