鱼C论坛

 找回密码
 立即注册
查看: 785|回复: 11

[已解决]nodeJS-创建最基本的web服务器

[复制链接]
发表于 2023-7-2 01:01:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
3.png 4.png 终端打开后服务器也跑起来了,网页无法打开。 03.解决中文乱码的问题.zip (683 Bytes, 下载次数: 4)
最佳答案
2023-7-2 09:33:46
您的代码似乎有一个小错误。在  req, url  这个表达式中,应该是  req.url ,不是  req, url 。以下是修复后的代码:
const http = require('http') 
const server = http.createServer()

server.on('request', (req, res) => {
    // 定义一个字符串 ,包含中文内容
    const str =  您请求的URL地址是 ${req.url}, 请求 method 类型为 ${req.method} 
    // 调用 res.setHeader() 方法,设置content-Type  响应头 从而解决中文乱码的问题
    res.setHeader('Content-Type', 'text/html; charset=utf-8')
    // res.end() 响应给客户端
    res.end(str);
})

server.listen(80, () => {
    console.log('server running at http://127.0.0.1');
})

如果代码仍然无法运行,可能是以下几个问题:

1. 确保你的 Node.js 环境已经正确安装并且在运行。你可以在命令行中运行  node -v  来检查 Node.js 是否已经安装和运行。如果没有安装 Node.js,你需要先进行安装。

2. 你可能需要管理员权限来监听 80 端口。在 Unix 系统中,监听1024以下的端口通常需要 root 权限。在这种情况下,你可以选择使用更高的端口号(比如3000、5000等)。

3. 确保 80 端口没有被其他服务占用。你可以使用如  netstat -tuln | grep :80  命令(Linux系统)来检查 80 端口的使用情况。

4. 检查防火墙设置,确保它没有阻止对 80 端口的访问。

5. 确保你访问的 URL 是正确的,如果你的服务器运行在本地,你应该访问  http://127.0.0.1  或  http://localhost 。如果你的服务器运行在远程机器,你需要用对应的 IP 地址或域名来访问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-2 01:10:51 | 显示全部楼层
f5按了吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-2 01:13:18 | 显示全部楼层
稍等,我给自己电脑装一个nodejs
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-2 01:16:28 | 显示全部楼层
7.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-2 01:17:21 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-2 01:18:27 | 显示全部楼层

哦,因为我已经运行了 IIS 服务……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-2 01:21:12 | 显示全部楼层
8.png

未定义 url
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-2 01:22:19 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-2 01:34:09 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-2 01:44:08 | 显示全部楼层

我自己解决了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-2 01:55:32 | 显示全部楼层


咋解决的,百度,谷歌,必应都搜不到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-7-2 09:33:46 | 显示全部楼层    本楼为最佳答案   
您的代码似乎有一个小错误。在  req, url  这个表达式中,应该是  req.url ,不是  req, url 。以下是修复后的代码:
const http = require('http') 
const server = http.createServer()

server.on('request', (req, res) => {
    // 定义一个字符串 ,包含中文内容
    const str =  您请求的URL地址是 ${req.url}, 请求 method 类型为 ${req.method} 
    // 调用 res.setHeader() 方法,设置content-Type  响应头 从而解决中文乱码的问题
    res.setHeader('Content-Type', 'text/html; charset=utf-8')
    // res.end() 响应给客户端
    res.end(str);
})

server.listen(80, () => {
    console.log('server running at http://127.0.0.1');
})

如果代码仍然无法运行,可能是以下几个问题:

1. 确保你的 Node.js 环境已经正确安装并且在运行。你可以在命令行中运行  node -v  来检查 Node.js 是否已经安装和运行。如果没有安装 Node.js,你需要先进行安装。

2. 你可能需要管理员权限来监听 80 端口。在 Unix 系统中,监听1024以下的端口通常需要 root 权限。在这种情况下,你可以选择使用更高的端口号(比如3000、5000等)。

3. 确保 80 端口没有被其他服务占用。你可以使用如  netstat -tuln | grep :80  命令(Linux系统)来检查 80 端口的使用情况。

4. 检查防火墙设置,确保它没有阻止对 80 端口的访问。

5. 确保你访问的 URL 是正确的,如果你的服务器运行在本地,你应该访问  http://127.0.0.1  或  http://localhost 。如果你的服务器运行在远程机器,你需要用对应的 IP 地址或域名来访问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 11:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表