如何快速用node在本地搭建一个服务器

众所周知,服务器是通过安装特殊的软件(或者运行特殊的代码)来提供网络服务的机器。那么我们的电脑可不可以弄成一个服务器,来供他人访问呢?

答案是可以的,这里我们需要安装一下node.js这个软件。传送门:Node.js 中文网

下载好后按住Win + R 运行cmd小黑窗,输入node -v 查看当前node的版本,如果能出现以下以v开头的版本号,说明安装成功

第一步,新建一个js文件(myServer.js)

 第二步,在js文件(myServer.js)中 写入代码

// 1. 引入http、url模块
const http = require('http');
const url = require('url');

// 2. 创建服务
const server = http.createServer(function (req, res) {
    //	设置响应头的编码格式为utf-8
    res.setHeader('content-type', 'text/html;charset=utf8');
    // 获取请求地址
    var urlObj = url.parse(req.url);
    // 每次刷新时,浏览器会默认一次会请求favicon.ico 。 不响应此次请求
    if (urlObj.path == '/favicon.ico') return;

    // 判断请求类型
    if (req.method == 'GET') {
        console.log(
            '收到GET请求,请求路径:',
            urlObj.pathname,
            '请求参数:',
            urlObj.query
        );
    }

    //res.end的作用:
    //(1)向客户端发送内容
    //(2)结束本次响应
    res.end(
        '<h1>当前请求参数:<span style="color:red;">' +
            urlObj.query +
            '</span></h1>'
    );
});

// 3.启动服务
server.listen(8081, function () {
    console.log('服务成功启动,端口:8081');
});

第三步:使用node运行该js文件

 

 第四步:查看本地服务器域名并访问服务

  1. window+R 运行cmd , 输入ipconfig查看本地的ipv4地址 :

如果是插着网线的电脑:在  【以太网适配器 以太网】这一栏里找到ipv4的地址  

如果是连着wifi的电脑:在   【无线局域网适配器 WLAN】这一栏里找到ipv4的地址

  2.在地址栏输入ipv4地址 + :8081 。 可传参 /aaa?name=zhangsan111

页面效果:

服务器响应:

🎉到这一步,你已经成功搭建了一台属于自己的本地服务器,你可以把你的url地址,发给同一局域网下的小伙伴,让你的小伙伴访问你的服务。

可能出现的问题

问题1:页面加载不出来。

原因:可能是你的ip地址没有写对,也可能是ip号和端口号没有正确组合,也可能是代码没保存或者node服务没启动,或者在cmd中输入完命令后关闭了小黑窗

解决方案

(1)找到正确的ipv4地址,在浏览器的地址栏输入 ipv4地址+:8081 

(2)复制的js代码一定要保存,保存完成后,在小黑窗输入node 【你创建的js文件名】执行当前js文件,确保看到了“服务成功启动”  这几个文字

(3)cmd输入完指令后,不要关闭!不要关闭!不要关闭! 也不要再去用鼠标去点击它,或者滑动选取文字什么的,直接去浏览器查看页面信息。

问题2:页面第一次加载能出来,第二次刷新之后一直显示装圈圈。

原因:在小黑窗里面输入完指令后,进行了多余的操作,比如用鼠标单击文字,复制文字信息等,cmd会对你的这些行为做出反应,导致页面一直处于加载中的状态。

解决方案:使用Ctrl + c 结束当前node命令,之后再次执行该命令

问题3:修改了js代码后页面信息没有跟着改变

原因:  这是因为只在编辑器里面修改了代码,但是没有重新启动服务器,所以更新完的代码并不会生效

解决方案:ctrl+c中止当前cmd中的node程序,保存js代码,重新执行之前的命令

问题4:为什么我的小伙伴访问不了我的ip

原因:可能你中止了你的node程序,或者是本地防火墙的原因,也可能你们不在同一局域网

解决方案

(1)重新运行node命令,执行js

(2)关闭本地防火墙。点击这里查看如何 关闭自己计算机的防火墙_百度搜索

总结在同一局域网下,使用nodejs运行js文件,保持cmd窗口的运行,你的电脑才是一台服务器,如果关闭cmd窗口,或者终止了node程序,那么你的电脑就不是服务器了,别人无法通过ip地址进行访问

  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Node搭建一个 FTP 服务器,你可以使用 `ftp-srv` 模块。下面是一个基本的示例: 首先,安装 `ftp-srv` 模块: ``` npm install ftp-srv ``` 然后,在你的 Node.js 文件中,添加以下代码: ```javascript const FtpSrv = require('ftp-srv'); const ftpServer = new FtpSrv({ url: 'ftp://localhost:21', pasv_url: 'ftp://localhost:3000', greeting: 'Welcome to my FTP server' }); ftpServer.on('login', ({connection, username, password}, resolve, reject) => { // 验证用户名和密码 if (username === 'username' && password === 'password') { resolve({root: './ftp'}); } else { reject(new Error('Invalid username or password')); } }); ftpServer.listen().then(() => { console.log('FTP server listening on port 21'); }); ``` 上述代码创建了一个 `FtpSrv` 实例,并监听了 `login` 事件。当有用户尝试连接 FTP 服务器时,会触发 `login` 事件,并传递一个包含连接信息、用户名和密码的对象。在 `login` 事件处理函数中,你需要验证用户名和密码是否正确,并决定用户可以访问哪些文件夹。如果验证通过,可以使用 `resolve` 函数返回一个包含根目录路径的对象;否则,可以使用 `reject` 函数返回一个错误对象。 最后,调用 `listen()` 方法启动 FTP 服务器并监听指定端口。在上述代码中,FTP 服务器将在本地监听 21 端口,并使用 3000 端口作为被动模式的数据传输端口。FTP 服务器启动后,你可以使用 FTP 客户端连接到它,并上传、下载、删除和重命名文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值