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服务器。

相关推荐
freexyn9 分钟前
Matlab自学笔记六十一:快速上手解方程
数据结构·笔记·matlab
青皮桔31 分钟前
CSS实现百分比水柱图
前端·css
影子信息36 分钟前
vue 前端动态导入文件 import.meta.glob
前端·javascript·vue.js
青阳流月38 分钟前
1.vue权衡的艺术
前端·vue.js·开源
样子201842 分钟前
Vue3 之dialog弹框简单制作
前端·javascript·vue.js·前端框架·ecmascript
kevin_水滴石穿43 分钟前
Vue 中报错 TypeError: crypto$2.getRandomValues is not a function
前端·javascript·vue.js
2401_873587821 小时前
Linux常见指令以及权限理解
linux·运维·服务器
Arthurmoo1 小时前
Linux系统之MySQL数据库基础
linux·数据库·mysql
李洋-蛟龙腾飞公司2 小时前
HarmonyOS NEXT应用元服务常见列表操作分组吸顶场景
linux·运维·windows
链上Sniper2 小时前
智能合约状态快照技术:实现 EVM 状态的快速同步与回滚
java·大数据·linux·运维·web3·区块链·智能合约