Debian上部署next.js项目
一个从 0 到上线的最简流程,按顺序做就行。先用“裸跑 3000 端口”,确认没问题后,再考虑 Nginx 之类的优化。 1. 在 Debian 上准备环境 SSH 登上你的 Debian 服务器后: 更新包索引sudo apt update 安装 Node.js 20(推荐)curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt install -y nodejs 确认版本 node -v npm -v`只要 Node ≥ 18 即可,Next 16 官方推荐 18/20。 2. 把项目代码放上服务器 在服务器上安装 rsync(推荐,之后同步也方便) SSH 上去你的服务器:`ssh root@x.x.x.x. 安装 rsync:apt update apt install -y rsync 退出服务器,再在你本机重新跑刚才的命令: 12345rsync -av \ --exclude node_modules \ --exclude .n...
云朵上的草原
川西甘南1
五月杭州
Day 1 - 宝石山从黄龙饭店出发步行10分钟到达黄龙洞,开始2个半小时的徒步+登山,海拔130米。全程据说不会太累,但是可以远眺西湖,也有竹林绿地。终点在西湖北岸的北山街历史文化社区和宝石社区附近,看起来吃的很多。 可以下午2-3点出发,大概晚上5-6点到终点。就在终点左右觅食,吃完西湖边逛逛,回饭店打牌。 参考: 20分钟就能登顶!杭州这条登山线必去! 俯瞰西湖,感受汉周历史文化底蕴的宝藏路线 图一:从黄龙饭店出发去黄龙洞 图二:徒步线路 图三:终点在宝石社区,回饭店可以打个车10分钟,走路大概20-30分钟。 图四:北山街附近有很多吃的可以选择的样子 Day 2 - 九溪十八涧梅家坞从饭店出发先去九溪派出所,从这里反向走,经过九溪->龙井村->梅家坞,全程大约3小时,海拔341米,比宝石山要辛苦一点,但是应该不难。终点在梅家坞,应该到处都是茶楼和农家菜。 可以在酒店睡的稍微晚点,吃完早饭9点左右出发,10点之前到达九溪派出所,步行3-4小时到梅家坞。午饭有两个选择: 在中间的龙井村吃饭,吃完了继续走十里琅珰去梅家坞 一次性走到梅家坞,在梅家坞吃饭,这样中...
二刷北京
行程地点路线 日程1月16日(周四) - 1月19日(周日) 1/16(周四)MU5157 虹桥T2-首都T2 13:30 - 15:50G18 上海虹桥 - 北京南 14:00 - 18:35 到北京时间已经不早了,带着儿子直奔天桥德云社。氛围不错,很多小孩,没有评论里说的那么冷,包袱不断的两个小时,很值! 1/17(周五)环球影城,9点开始营业。 交通可以选择地铁:8点出发,地铁一小时。一号线八通线:王府井→环球度假区地铁站C北口早上起来发现不堵车改成打车前往,从王府井到环球影城车程大约35分钟,不堵车的话是更好的选择。目的地定位放在环球度假村地铁站F口,是距离入口最近的打车点。 侏罗纪大冒险 (普通排队) 进门第一个项目,排队50分钟 奥利凡多买了邓布利多的魔杖 哈利波特禁忌之旅(优速通)用了优速通完全没排队,但是有点过于刺激了,感觉想吐。。。但是是好玩的没错。喝到了黄油啤酒,唯一遗憾的是没去成三把扫帚吃饭,排队一小时吃饭太夸张了。 小黄人闹翻天(优速通)不刺激也很有趣,适合小朋友 环球大巡游小黄人出来正好赶上大巡游,很热闹,表现力强...
和你们一起去发现世界
和你们一起去发现世界作为两个孩子的父亲,我一直在探索如何给予他们最好的教育。在这个过程中,我逐渐认识到,教育并不仅仅局限于书本和课堂,更广阔的世界才是孩子们最好的老师。正如古人云:“读万卷书,行万里路”,这句话不仅强调了知识与实践的结合,也启示我们教育的真谛在于体验和探索。今天,我想和大家分享一下,我是如何带着孩子们一起探索这个世界,以及这样的经历如何影响他们的成长的。 书本之外的世界在孩子们的成长过程中,我始终认为,书本上的知识固然重要,但那只是冰山一角。 真正的教育,应该是全方位的,是立体的,是生动的。它不仅仅发生在学校的教室里,也发生在我们共同的旅行中,发生在我们对这个世界的探索和发现中。 这样的教育理念让我坚信,每一次旅行都是一次新的学习机会,每一次探险都是一次心灵的触动。正如马克·吐温所言:“旅行是偏见、偏执和狭隘思想的致命大敌。” 通过旅行,我们能够拓宽视野,增进理解,培养同情心。因此,我决定带着孩子们走出教室,走进这个世界,去亲身体验、去感受、去学习。 在这段旅程中,我们将一起跨越山川大海,穿越城市乡村,去发现、去学习、去成长。这不仅仅是一次简单的旅行,这是一次心灵...
2024 只有河南
Day 1 - 8/11 - 德化街7 点把东西丢到酒店就出门了,吃了郑州三家老字号之一的合记烩面,味道不错。 然后散步去了德化街步行街夜市,真的是一个字:吵。实在是太吵了,很多年没去过这么吵的街道,所有的商铺都在用大喇叭和最大的音量嘶吼着,一圈走下来真是精疲力竭。。。 Day 2 - 8/12 - 只有河南 虽然只有河南名声在外,一直也不知道是搞啥的。这次去了才知道,是一个大型剧场,共有 21 场小戏剧,3 场大戏剧。如果买 2 日票,3 场大戏都可以看;如果买的是 1 日票,只能挑选一场看。因为带了妹妹年纪比较小,听劝预定了比较好接受的幻城。 8 点从洲际出发,从二七广场坐地铁到市体育中心站(30 分钟),再从那里打车去只有河南(30 分钟)。 10 点不到的时间到了只有河南,到下午 6 点出来,8 个小时左右,勉强看了四场戏:曹操的麦田:🌟🌟🌟🌟只有河南的地址就在中牟县的官渡附近,换句话说就是官渡之战的地点,在这里演官渡之战的故事真有点穿越感,舞美灯光演技都在线,非常不错。幻城:🌟🌟🌟舞美还是没得说的,很美轮美奂,但是感觉想说的东西...
2024 成都(筹)
景点 中心区域 武侯祠 宽窄巷子 杜甫草堂 四川博物院 成都博物馆 青城山/都江堰驾车:天府广场 -> 青城山景区 1小时7分钟天府广场 -> 都江堰景区 1小时10分钟都江堰景区 -> 青城山景区 40分钟 三星堆博物馆驾车:天府广场 -> 三星堆博物馆 1小时15分钟 大熊猫繁殖基地驾车:天府广场 -> 大熊猫繁育基地 30分钟 住宿天府广场成都领地希尔顿嘉悦里酒店1000/晚 步行到达成都博物馆 都江堰都江堰希尔顿欢朋酒店600/晚 酒店 -> 都江堰 17分钟酒店 -> 青城山 30分钟三星堆 -> 酒店 1小时 行程Day 1中午下午飞机到,逛一逛武侯祠宽窄巷子住在天府广场 行车时间:1小时之内机场到酒店 30分钟酒店到武侯祠 15分钟酒店到宽窄巷子 12分钟武侯祠到宽窄巷子 21分钟 Day 2 大熊猫繁育基地+成都博物馆 住在天府广场 行车时间:一小时 天府广场打大熊猫繁育基地 单程30分钟,往返1个小时 Day 3三星堆博物馆住在青城山 行车时间:2小时天府广场到三星堆 1小时三星...
爬虫Python库Pyppeteer的安装使用
Python库安装1pip install pyppeteer Chromium安装pyppeteer会自己处理chroimium,如果发现未安装会自动下载安装。所以只要跑一个调用了pyppeteer的python脚本就可以了。 在墙内会无法自动下载,可以观察一下pyppeteer请求下载失败的地址手动下载。解压之后上传到服务器上也可以使用。 例如,下载加压后的包为 chrome-linux-2,其中会包含一个chrome的可执行文件。把chrome-linux-2这个文件夹完整上传到/home/chrome文件夹下。 启动浏览器的时候指定路径executablePath='/home/chrome/chrome-linux-2/chrome',实际代码示例如下: 1$ browser = await launch(executablePath='/home/chrome/chrome-linux-2/chrome', headless=True, args=['--no-sandbox', '--disable...
Ubuntu docker初始化配置
前言感觉Docker的系统开销比较小,用一个ubuntu的docker做测试服务器 安装ubuntu docker在极空间里直接搜索ubuntu镜像进行安装就行了。注意启动的时候要选上-i -t,不然容器会一直自动重启。把22端口开放出来给ssh登录。 安装ssh希望可以远程登录,可以考虑用frp来转发端口,不过觉得麻烦就用cloudflare的网页版的ssh把。不过首先都是要安装好ssh,默认是不带的。 安装openssh12345678yes | apt-get updateyes | apt install openssh-server# 检查一下ssh服务是不是启动了service status ssh# 如果没有启动的话启动一下 service ssh start 修改配置123456789101112yes | apt-get install nanoecho "修改ssh confi文件,1. 把端口监听地址的注销去掉 2.允许root用户登录 3.允许密码验证 "sleep 5snano /etc/ssh/sshd_configecho ...
Vue学习笔记 03
JsonReader.vue敲黑板data() { return { …, … };}这里的return是data函数的一部份,是定义了这个组件内部的全局变量。同时如果这个组件被其他项目引用的话,不可以通过组件名.变量名的方法在组件外部被引用,因为这是一个组件内部的变量。 kimi建议使用 父组件定义 props, 子组件进行 $emit事件的方法来传递 使用veux建立一个store.js来通用的处理这个全局的变量 state: {}和变化mutations: {} fetch(‘…’) 路径问题这里尝试了把文件放在assets文件夹下,用 ‘./assets/links.json’来fetch文件,怎么试都失败了。最终还是把这个文件放到public文件夹下面,用根目录访问成功了。 methos: { } 用法定义多个方法。 如果需要传入参数,例如 getLink(bookmark),在template中调用的时候需要用a :href="getLink(bookmark)" 这样加括号、加参...









