Jekyll+云服务器搭建

在阿里云服务器上部署Jekyll博客 Step 0 首先买一台服务器,并且装好环境 我都是在阿里云上面买,而且我只是想挂一个个人网站,所以只需要最便宜的轻量应用服务器就好,半年只需要72块钱。(我现在想来,之前也应该买香港的服务器,因为更加便宜(大陆的要60块一月),而且不需要给服务器备案,想起我当时备案还弄了好久)。另一方面来说,大陆访问香港的服务器确实会比较慢。 安装环境主要是安装Ruby和Jekyll的环境,如果是在mac上面... 阅读详情

Jekyll+云服务器搭建

原博客地址:http://jinluzhang.site/2020/02/28/Jekyll-blog.html

博客参考自:

https://cloud.tencent.com/developer/article/1453573, https://segmentfault.com/a/1190000012560959

需求

最近因为一些原因需要在自己租的云服务器上搭建Jekyll博客,由于之前都是在GitHub Pages上搭建的,其实在服务器这一块只需要git push上去就行了,现在多了一步如何在服务器上启动jekyll,因为看不少教程都没有说清楚这一步,所以写个博客记录一下,顺便梳理一下自己搭建博客的历程。

下面以Jekyll模板+阿里云轻量服务器CentOS7.3为例,进行说明

Jekyll+Github Pages

  1. 需要了解一下Jekyll的基础知识:http://jekyllcn.com/docs/home/

  2. 然后需要建立一个你的仓库,命名为username.github.io即可,然后开启Github Pages功能,如图:

img-github-page
  1. 选一个喜欢的Jekyll模板,GitHub提供了几个,点击Change theme即可看到,觉得不喜欢还可以自己去找:http://jekyllthemes.org/, 选中之后去他的github仓库,git clone下来,放进自己刚才创建的仓库,第一次搭建建议找一个README文档说明详细的,方便修改博客的各种属性,我选择的是Text Theme
  2. 本地调试需要搭建一个Ruby+bundle+jekyll的环境,参考http://jekyllcn.com/docs/installation/,对于ubuntu/centos用户,使用apt/yum等包管理安装的ruby版本可能不对,参考这里安装rubyhttps://segmentfault.com/a/1190000012560959
  3. 配置好之后,在博客文件夹下使用bundle exec jekyll serve即可在本地浏览器调试、预览。
  4. 先读模板的代码,对应修改一些属性,这是我修改之后的模板Jinlu Zhang,对一些不明确的属性加了注释,然后还对模板根据喜好做了些修改,git clone我这个也可以。
  5. 最终把自己满意的版本push到github仓库,他就可以自己部署了。

云服务器部署

环境搭建

在云服务器上部署其实和本地调试区别不大,主要在于ruby版本和后续安装要正确,安装姿势也要对,切记不要直接sudo yum install ruby,安装版本可能太老

  • (推荐)rvm安装

  • 源码编译:https://www.ruby-lang.org/en/documentation/installation/#building-from-source

以使用rvm配置为例:

  1. 安装rvm

    gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
    curl -sSL https://get.rvm.io | bash -s stable
    
    # 如果上面的连接失败,可以尝试: 
    curl -L https://raw.githubusercontent.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable
    

    可能会问你 sudo 管理员密码,以及自动通过 Homebrew 安装依赖包,等待一段时间后就可以成功安装好 RVM。

    然后,载入 RVM 环境(新开 Termal 就不用这么做了,会自动重新载入的)

    source /usr/local/rvm/scripts/rvm
    

    修改 RVM 的 Ruby 安装源到 Ruby China 的 Ruby 镜像服务器,这样能提高安装速度

    echo "ruby_url=https://cache.ruby-china.org/pub/ruby" >> /usr/local/rvm/user/db
    

    检查一下是否安装正确

    rvm -v
    
    rvm 1.29.3 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
    
  2. 使用rvm安装ruby

    rvm requirements
    rvm install 2.7.0
    

    设置 Ruby 版本,同样,也可以用其他版本号,前提是你有用 rvm install 安装过那个版本

    rvm use 2.7.0 --default
    

    测试

    ruby -v
    ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
    
    gem -v
    2.5.1
    
  3. 安装bundler

    gem install bundler
    
  4. 转到服务器上存放博客的路径下,启动jekyll服务

    jekyll serve -H 0.0.0.0 -P 80
    

    这样启动的服务在你关闭命令行后就会停止,而我们在服务器的服务不可能保存命令行连接,因此需要修改为:

    jekyll serve -H 0.0.0.0 -P 80 --detach
    

    当你想要停止服务时,可以使用以下命令:

    pkill -f jekyll
    

    或者

    ps -ef | grep jekyll
    
    kill -9 jekyll服务进程编号
    

nginx端口分发

服务器上不可能只运行一个博客,但是80端口只有一个

在启动Jekyll服务时,使用的命令:

jekyll serve -H 0.0.0.0 -P 80 --detach

其中-P指定的就是启动时的端口,你可以修改为任意你服务器开放了的端口,如:

jekyll serve -H 0.0.0.0 -P 8899 --detach

这样,你就将Jekyll服务启动在了8899端口下,那么问题来了,刚才说的只能访问80端口呢!不急。

我们在购买域名后,可以设置子域名。

1.首先去域名购买网站的控制台,在解析记录中,添加你想使用的子域名,同样解析指向你的服务器,如:

blog.yuming.com

2.在服务器上安装nginx。

$sudo apt-get install nginx

3.启动nginx

$sudo /etc/init.d/nginx start

4.修改nginx配置文件

cd /etc/nginx
vi nginx.conf

在 http 后的大括号内添加图片内容:

image-20200228103323218

其中

liston:80。想要监听的端口 server_name:blog.yuming.com。为你设置的子域名 location 后面的 http://localhost:8899。为你启动的Jekyll端口。

5.重新nginx

service nginx restart

然后在浏览器访问你的子域名即可跳转至你的博客。

简单的在云服务器上搭建博客。 云服务器安装简单测试博客网站1、 安装apache22、 安装PHP。Apache的PHP模块和PHP3、 安装PHP插件4、 安装mysql-server mysql-clicent5、 启用root权限登录数据库:mysql -u root6、 创建数据库:create database 数据库名 default character setutf8 collate utf8_general_c... 阅读详情

相关推荐

CI加成下的jekyll博客写作

前言 一直搭建jekyll以来只在线下使用,仅仅使用git放在服务器上作为远程仓库帮忙管理, 主要是jekyll部署时候比较麻烦(除直接使用jekyll serve,但这样会带来安全上的隐患), 所以一直都没有更新线上的jekyll博客。 由于最近需要把相当部分的代码加入CI,顺便着把jekyll也纳入其中。 由于本身需求的服务并不多,加上并不想将个人博客丢在第三方git平台, git仓库跟CI均使用能自行部署的组件,所以这就用了这老三样: Docker Jenkins CI Gogs 选择各组件理由

Bidaya的博客 7566

使用 Jekyll 构建你的网站 - 初入门

Jekyll 是一个开源的静态网站生成器。你可以使用 Markdown 编写内容,使用 HTML/CSS 来构建和展示,Jekyll 会将其编译为静态的 HTML。

Flora's Zone 6438

Git Hook 自动化部署 Jekyll 博客:零手动发布实践

静态博客生成器(如 Jekyll)依赖 Ruby 运行时,通过 Git 触发构建流程是实现自动化部署的核心范式。其原理在于利用 Git 的 post-receive 钩子作为轻量级 CI,结合 rbenv 管理可复现的 Ruby 环境,在服务器端完成 jekyll build 并同步至 nginx 根目录。该方案规避了 GitHub Pages 的环境不可控与 CI 工具的过度复杂,以最小技术栈达成‘提交即上线’的确定性交付。适用于技术博客、团队文档等静态站点的生产部署场景,尤其解决内容创作者面临的发布延迟

weixin_30444105的博客 522

使用jekyll与阿里云服务器自动搭建自己的博客网站

本文旨在教小伙伴用Jekyll和阿里云以及github自动搭建自己的服务器,也为了记录下自己的搭建过程。中间有自己踩的一些坑,参照了一些大神的搭建步骤,如有不足欢迎指正 首先,请fork本人或者直接fork大神的jekyll源代码到自己的github 本人地址: 大神地址 ...

逍遥风的博客 1849

基于 ubuntu+jekyll 搭建个人博客

该文档详细的介绍了如何在ubuntu服务器利用jekyll搭建属于自己的个人博客系统,教程非常简洁明了,手把手、一步步实现,能够快速的搭建起属于自己的个人博客网站。

feko金属球远场RCS双站

feko金属球远场RCS双站

a264672的博客 6910

jekyll网站上传服务器,jekyll 高效搭建个人博客之完整流程

jekyll.png原创精选来自我的博客文章目录说在前面的话作为一个和电脑、代码打交道的我,一直都想拥有自己的博客,一切都显得那么高(zhuang)大(bi)上(yong),在下定决心之后就在网上到处查找资料,最终发现一般用的就三种:WordPress、Hexo、Jekyll,最终权衡利弊选定了jekyll来实现博客搭建。这个过程前前后后遇到很多坑,虽然有相关文档,毕竟总不够全面,在自己这里也有时...

weixin_30446969的博客 676

科研效率革命:Zotero与Web of Science联动实现千篇文献一键获取

本文详细介绍了如何利用Zotero与Web of Science联动实现科研文献的高效管理,包括批量导入、智能下载和自动整理千篇文献的技巧。通过精准检索、RIS文件导出和Zotero插件设置,科研人员可以大幅提升文献获取和管理的效率,特别适合开题报告和综述写作等场景。

weixin_29219539的博客 254

使用Jekyll搭建博客,并绑定域名

在用户权限下操作 环境 CentOS Linux release 7.6.1810 rvm 1.29.12 gem 3.0.9 ruby 2.7.0 jekyll 3.9.0 安装curl 安装RVM(Ruby Version Manager) 安装Ruby 安装Bundler

学而不思则罔,思而不学则殆。 1218

Godot4 TileMap分层绘制全攻略:解决角色、树木遮挡混乱,打造正确视觉层级

本文详细介绍了Godot4 TileMap分层绘制技术,通过图层管理和Y-Sort功能解决2D游戏中角色与物体的遮挡问题。从基础图层设置到高级优化策略,帮助开发者打造符合自然视觉规律的场景层次,提升游戏沉浸感。特别针对TileMap和TileSet的使用提供了实用技巧和代码示例。

weixin_28717411的博客 512

在armv8架构中,有哪些是serror

(3)、RAS(Reliability, Availability, and Serviceability)错误:一些对于系统的可靠性、可用性和可维护性有影响的错误可能会触发 SError。(2)、ECC(Error Correction Code)错误:在访问带有错误校验的内存(如ECC内存)时,如果发现错误校验失败,可能会产生SError。2、其实呢,大多数Serror都是实现定义的,真正实现的serror就没有多少个。Serror(也称System Error),是异步异常的一种,一般是来自。

baron-周贺贺-代码改变世界ctw 1013

基于jekyll搭建自己的博客系统

文章目录安装步骤测试编写博客使用别人的主题购买域名和备案购买云服务器部署博客引入评论系统引入百度统计引入Latex公式支持issues 安装步骤 jekyll的环境在本地电脑安装就可以了,不需要在部署博客的服务器上安装。看后面的流程就明白了,写博客的流程是在本地电脑书写markdown文件,然后编译生成静态web文件。最后是把这些文件上传到服务器上的web容器(nginx,tomcat等)运行即可...

lucasma的博客 2266

【VMware】win 10:VMware 15 虚拟机安装 win 7 系统

目录 一、准备虚拟机 二、win7 ghost ISO镜像文件下载 三、VMware新建虚拟机 四、VMware安装win7 五、解决vmware虚拟机屏幕没有适应窗口全屏问题 一、准备虚拟机 查看我的另一博文:【VMware】VMware Workstation Pro15 虚拟机永久激活破解安装教程 二、win7 ghost ISO镜像文件下载 百度网盘下载地址:点击前往下载...

顾三殇 —— 博客空间(软件测试) 11万+

搭建个人博客的经历

为了了解下云服务器,所以就决定搭建一个属于自己的博客,没有打算一直用下去,就是熟悉一下流程。 首先搭建博客有很多种方法: 1.Git+Github+Markdown+jekyll(免费) 2.Git+Github+Markdown+hexo(免费) 3.云服务器+插件+wordpress(付费) 首先说说1,2的优点,免费的,而且不需要备案,并且可以在github上更新博客,但是操作起来较为复杂,...

爱技术的小白 796

YOLOv11【第一章:零基础入门篇·第10节】YOLOv11项目实战:从零搭建检测系统!

🏆 本文收录于专栏 《YOLOv11实战:从入门到深度优化》。本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。

**My Coding Family** 5770

基于Simulink的转向控制系统仿真建模示例

本文完成了基于 Simulink 的 EPS 转向控制系统仿真,实现了:✅掌握 EPS 助力控制基本原理✅构建车速敏感的可变助力策略✅在 Simulink 中验证低速轻便、高速沉稳的手感✅达成“安全、舒适、高效”的现代转向系统。

xiaoheshang_123的博客 86

将个人博客从GitHub迁移至阿里云服务器过程总结

让我们先回顾下前两篇博客: 程序员如何从0到1搭建自己的技术博客 在个人博客中优雅的使用Gitalk评论插件 通过前两篇博客,我们了解了如何快速的从0到1搭建一个个人博客并使用了Gitalk评论插件,虽然博客现在是有了,但是存在一些缺点,主要有以下几点: 访问不稳定 百度收录不好 百度统计功能无法正常使用 作为一个有追求的程序员,岂能容忍这些缺点,哈哈,于是趁着阿里云Hi购季买了一台阿里云服务...

weixin_33794672的博客 1887

基于Python的Booking酒店数据爬虫实战:最新技术与完整代码解析

本文将详细介绍如何使用Python构建一个高效的Booking酒店数据爬虫,涵盖从基础爬取到高级反反爬技术的完整实现。我们将使用最新的Python爬虫技术栈,包括requests-html、Playwright、智能代理轮换等技术,并提供完整的可运行代码示例。文章将深入探讨爬虫的各个组成部分,包括数据提取、存储、反反爬策略以及性能优化等方面。关键词:Python爬虫、Booking数据采集、反反爬技术、Playwright、数据存储。

2201_76125261的博客 936

快速搭建个人博客网站,分享个人经验!保姆级教程!小白就能搭建!保证简单易懂!不用敲代码!远离繁琐操作

个人知识分享网站是一个专门用于发布和分享个人知识、经验、见解等内容的在线平台。展示专业知识。建立个人品牌。与他人交流。记录成长。Jekyll是一款流行的静态博客生成器,它可以帮助你快速搭建一个简洁、高效的个人知识分享网站。静态生成:将Markdown或HTML文件转换为静态网页,无需数据库,安全性高,加载速度快。简洁易用:支持Markdown语法,适合文字内容的创作,界面简洁,易于上手。高度自定义:支持自定义主题、布局和样式,满足不同用户的需求。开源免费:基于Ruby开发,开源免费,社区支持强大。

一个会做scratch的博客 1188

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

怎么快速搭建属于自己的博客

怎么快速搭建属于自己的博客 前言 博客平台那么多,还用创建自己的博客吗? 比如:新浪博客、网易博客、优快云、CNBLOG等,太多的博客了。 可是有一天你还是想创建属于自己的博客,拥有自己的域名和空间。 那么怎么快速的创建属于自己的博客呢? 1、wordpress搭建博客 2、hexo博客搭建 3、Jekyll博客搭建 4、正常建站流程(要求比较高,不是...

weixin_30439031的博客 110

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

如何用ansible在阿里云上搭建一个 Jekyll blog

使用Ansible在阿里云上部署Jekyll博客涉及到几个步骤,包括准备阿里云服务器实例、安装Ansible、编写Ansible playbook以及执行playbook来自动化部署Jekyll。

nujnus9221的博客 672

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

ubuntu18.04 + jekyll搭建个人博客站

本人日常使用markdown做笔记,为了方便的将自己的写的东西发布到网上,就采用`ubuntu18.04 + jekyll`的形式搭建个人博客站。在这里就说明如何购买云服务器和域名的方法了。谷哥和度娘是我们的好朋友!

码上看世界 556

使用 Jekyll 搭建自己的博客网站并实现自动本地->云端自动同步

本文记录了在阿里云服务器上使用Jekyll搭建个人博客的全过程。通过Ruby环境配置、Jekyll安装、Nginx部署、域名解析等步骤完成基础搭建,并应用Chirpy主题优化界面。实现了文档云同步、归档分类、在线查阅和URL分享功能。支持本地Typora编辑后自动同步到GitCode,服务器定时拉取更新并生成静态页面。详细介绍了手动/自动同步方式、HTTPS配置等操作,为技术博客搭建提供了完整解决方案。

qq_34649825的博客 702

Ubuntu 20.04 搭建 Jekyll 开发环境完整指南

Jekyll 是一款基于 Ruby 的静态网站生成器,其核心原理是将 Markdown 和 Liquid 模板在本地编译为纯 HTML 文件,实现零运行时依赖、高安全性和强可移植性。该技术栈的价值在于构建过程完全透明可控,特别适合技术文档站、个人博客和 CI/CD 集成场景。然而在 Ubuntu 20.04 这类 LTS 系统中,因系统 Ruby 版本过低(2.7)、缺少原生扩展编译依赖(如 libssl-dev、libxml2-dev)以及 make 工具链不兼容等问题,直接安装常失败于 'Failed

weixin_31083901的博客 314

Jekyll项目手动部署指南:五种常用方法详解

还在为Jekyll静态网站的部署而烦恼吗?每次代码更新后都需要手动构建和上传,效率低下且容易出错?本文将为你详细解析五种实用的Jekyll手动部署方法,从传统的FTP到现代化的云存储方案,助你找到最适合的部署策略。 通过本文,你将掌握: - ✅ 五种主流手动部署方法的详细操作步骤 - ✅ 各方案的优缺点对比和适用场景 - ✅ 部署过程中的常见问题解决方案 - ✅ 自动化部署的最佳实践建议 ##...

gitblog_00816的博客 333

几种免费搭建个人博客的方法

提供免费的博客托管服务,有多种免费主题可选。:Google旗下的博客平台,注册Google账号后即可免费使用。:专注于内容创作的博客平台,不需要自己搭建网站。

qq_53199129的博客 4413
上一篇: 问题解决:Github图片无法访问
下一篇: WIN10【Tensorflow-gpu+Anaconda3+cuda9.0+cudnn7.1】安装记录
Kim Zhang
博客等级 码龄9年 36粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值