1:配置 http
在服务端安装完nginx之后,打开 /etc/nginx/sites-enabled 目录(默认的配置文件目录)(划掉划掉,经朋友指正,nginx的配置应该放置在/etc/nginx/sites-available 这个目录下,在此目录下可以配置多个站点,然后选择需要开启的网站软链到 sites-enabled 下开启相应的网站),在该目录下新建一个配置文件比如 blog.conf ,然后就可以打开该配置文件进行配置,将已经运行的 node 服务反向代理到 80 端口下。我的配置如下:
server {
listen 80;
server_name blog.zhaofinger.com zhaofinger.com www.zhaofinger.com;
access_log /var/www/log/blog-access.log;
error_log /var/www/log/blog-error.log;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:1113/;
proxy_redirect off;
proxy_pass 对应的就是 node 服务所运行的端口。文件写好之后保存退出,然后重启 nginx 服务,service nginx restart,重服务成功(如果错误可以打开 nginx 的日志查看相应的错误)之后就可以打开对应的域名访问网站。
2: 配置 https
配置 https ,首先需要购买 https 证书,我是在阿里云上买的免费的证书,打开网站点击购买证书,然后选择‘免费型DV SSL’,然后点击 ‘立即购买’。购买证书之后打开证书控制台补全信息。
根据提示将两个证书文件下载下来上传到服务器上。然后打开刚才的 blog.conf 进行 https 配置。我的配置如下:
server {
listen 443;
server_name blog.zhaofinger.com zhaofinger.com www.zhaofinger.com;
access_log /var/www/log/blog-access.log;
error_log /var/www/log/blog-error.log;
ssl on;
ssl_certificate /etc/nginx/cert/214259593710649.pem;
ssl_certificate_key /etc/nginx/cert/214259593710649.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:1113/;
proxy_redirect off;
ssl_certificate
与 ssl_certificate_key
就是刚刚上传的文件的位置。配置完成之后保存配置文件,退出重启 nginx
服务。然后打开https://xxx.com
就可以访问到网站。
配置完 https
之后还需要将 80 端口对应的 htt
p 服务转到 https
下,增加配置如下:
server {
listen 80;
server_name www.zhaofinger.com;
rewrite ^/(.*) https://$server_name$1 permanent; #跳转到Https
到这里使用 pm2 + nginx 配置 https 服务就 ok 了。
最后本博客的源码托管在 github,欢迎使用,欢迎star。
文章中如有错误欢迎指正。
轻量级推送服务和实时在线监控平台,同时用于开发即时通信系统,基于node的socket.io,支持web,android,ios客户端,支持移动端离线推送,可进行分布式部署
随着互联网网速的不断提升,即时消息通信的应用场景越来越多。我在参与公司多个产品的研发中,不止一次的遇到需要集成聊天功能的需求。既然是聊天就必须把消息尽快送达目标用户,做的多了就有了一个自己自己的经验和想法,然后借着闲暇时间时间一点点的就写出了这个项目。这个项目灵感实际开发工作,同时又把它应用到自己的工作中。希望它能帮到你,也希望你能给我更多的反馈和改进意见,让它帮助更多的人。
系统概要和功能特性
业务系统通过R
一个轻量级,可伸缩的,基于koa2的敏捷开发Node.js Web框架。
ThinkKoa-轻量级可扩展的敏捷开发Node.js框架,支持ES6 / 7新特性,支持Koa,Express中间件,基于koa2。
基于koa2
ThinkKoa基于著名的Node.js框架koa2进行了薄封装。扩展了Koa的功能,能够Swift的进行Web开发。
支持Koa / Express中间件
通过简单的约会机制,ThinkKoa可以很好的支持Koa中间件(包括Koa1及Koa2)。还提供了使用Exp()来使用Express的中间件。大大提升了框架的扩展性和开源模块利用率。
为敏捷开发而生
ThinkKoa是在ThinkKoa团队3年的Node.js项目开发积累中堆积酿造的,以提高团队开发效率,助力敏捷开发为目的。框架通过公司多个互联网产品上线,遍及以及大流量大并发的考验。
支持多种项目结构和多种项目环境
ThinkKoa支持Nginx代理以及pm2部署,适合对稳定性和效率有要求的生产环境。ThinkKoa支持单一模块模式,适合简单快速的项目。
支持灵活的自定义路由
ThinkKoa
查看node的版本:如果没有安装node,可以使用宝塔安装(推荐),进入软件商店,搜索node,选择node.js版本管理器1.8进行安装:安装好后点击设置,点击更新版本列表(列表每24小时与Node.js官网列表同步一次,可点击【更新版本列表】按钮立即与Node.js官网同步版本列表):然后选择需要的node版本进行一键安装,一般推荐14或者18版本。也可以自行下载镜像安装,进入node官网:https://nodejs.org/dist/
一直以来都想用自己的技术做一些个人项目,之前的是基于hexo hexo ,感觉啥都是别人帮你写好了,于是便决定自己搞一个,断断续续地弄了一部分,也总算是完成了一个简单版本并部署上线。
博客地址:
博客后台:
如果觉得还行的话,欢迎给个star哈。感谢~~
由于不会设计,博客主题是模仿的布局样式,感谢作者的开源分享。
相关技术栈
Vue + Vue路由器+更少+ Axios
节点+ koa2 + koa-router
mysql +续集
Nginx + PM2
未来可能加入
网易云音乐
页面数据可视化统计
git clone [email protected]:chenyinkai/cykspace.git
cd cykspace
npm install
npm start # 打开 http://localhost:3000/v1/articles
测试前先在【lib】—>【config.js】配置数据库基本信息
sql文件在sql目录下
互连请求路径可在[routes]->【index.js】下查看
如果在测试期
最近用ghost又搭建了个博客(blog.tonlyshy.cn),想用这个写偏技术的内容,本站就偏生活一点。
期间试过‘全世界最好的语言’的WordPress以及typecho,接着又试了‘2016热门开源项目’的Grav,但是都太复杂了,配置上又有很多问题。ghost跟Spruche都是基于nodejs的,很轻量化。感觉Djiango和它有些类似。这样就有两个站点,穷学生没钱拿两个ECS
注意都是使用 root 用户。
下载 nvm: curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
使用 nvm 安装 nodejs: nvm install node,安...
2020/03/30 周一
#JSON数据转Blob后,怎么还原
在axios请求下载文件接口时,一般设置responseType: ‘blob’,文件返回正常就没问题,但后台如果处理文件或鉴权有问题,接口返回了包含错误信息的json格式数据,那样json数据也会转为Blob对象,而前端有必要将错误信息展示的,那怎么将Blob数据转JSON呢?下面来看看
let fileType = res.headers['content-type']
if (fileType.startsWith('applicati
文章目录前言后端配置域名,根据域名申请证书配置nginx,采用pm2启动后端
在我的前一篇文章中,使用nginx配置了https服务,但是发现所有的前端https请求都被阻塞,因此在页面中增加了如下设置:
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
但发现后端没有...