基础库
1 2 3 sudo apt-get install git-core sudo apt-get install g++ sudo apt-get install cURL
安装Node.js
hexo官方推荐的安装方法是使用nvm,这里我们也使用nvm进行安装,当然你也可以使用直接安装,不过貌似nvm安装之后会直接在个人目录下产生.nvm目录并且通过.bashrc或者.bash_profile进行开机加载,然后其他的nvm操作都会保存在>.nvm目录,这样方便以后升级或者重装系统,相当于绿色软件了。
1 2 3 4 wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh reboot nvm install 4 nvm ls
会输出:
1 2 3 4 v4.2.6 node -> stable (-> v4.2.6) (default) stable -> 4.2 (-> v4.2.6) (default) iojs -> N/A (default)
然后:
1 2 nvm use 4.2.6 nvm alias default 4.2.6
为了避免重启后找不到hexo指令的错误,在/etc/rc.local中添加:
安装,配置Hexo
1 2 3 4 5 6 7 8 9 10 11 12 13 npm install -g hexo-cli #在home新建一个文件夹,用于本地存放博客 $mkdir Blogs $cd Blogs #用hexo命令在Blogs目录中初始化环境 $hexo init $npm install #本地服务开启 hexo server INFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.
可以通过ip:4000查看到默认页面。
安装Dropbox
32-Bit:
1 wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -
64-Bit:
1 wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
接着,从新建的 .dropbox-dist 文件夹运行 Dropbox 守护程序。
1 ~/.dropbox-dist/dropboxd
Next we will download the command line management script. This script requires Python, so make sure you have it installed. You can see if Python is installed with python -V
1 2 3 4 5 wget https://www.dropbox.com/download?dl=packages/dropbox.py -O dropbox_manager.py chmod +x dropbox_manager.py ./dropbox_manager.py
如果想要不同步某些文件夹,就可以:
1 ./dropbox_manager.py exclude add ~/Dropbox/Photos/
Running Dropbox on system startup
Here’s a sample init.d script for Debian/Ubuntu and the event.d sample.
1 sudo nano /etc/init.d/dropbox
输入:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 #!/bin/bash # dropbox service DAEMON=.dropbox-dist/dropboxd start() { echo "Starting dropbox..." if [ -x /root/$DAEMON ]; then HOME="/root" start-stop-daemon -b -o -c root -S -u root -x /root/$DAEMON fi } stop() { echo "Stopping dropbox..." if [ -x /root/$DAEMON ]; then start-stop-daemon -o -c root -K -u root -x /root/$DAEMON fi } status() { dbpid=`pgrep -u root dropbox` if [ -z $dbpid ]; then echo "dropboxd not running." else echo "dropboxd running (pid $dbpid)" fi } case "$1" in start) start ;; stop) stop ;; restart|reload|force-reload) stop start ;; status) status ;; *) echo "Usage: /etc/init.d/dropbox {start|stop|reload|force-reload|restart|status}" exit 1 esac exit 0
Set it to start automatically on system boot:
1 2 sudo chmod +x /etc/init.d/dropbox sudo update-rc.d dropbox defaults
To remove the service, run
1 sudo update-rc.d -f dropbox remove
To start the service, run
1 sudo /etc/init.d/dropbox start
To stop it, run
1 sudo /etc/init.d/dropbox stop
To restart it, run
1 sudo /etc/init.d/dropbox restart
You can also check running status in the Ubuntu/Debian and Gentoo versions with:
1 sudo /etc/init.d/dropbox status
部署Nginx
1 2 3 sudo apt-get install nginx sudo vim /etc/nginx/conf.d/blog.conf
写入:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 server { listen 80; server_name example.com; # 自己的域名 root /home/xxx/public; # 刚才说的路径 access_log /var/log/nginx/blog_access.log; error_log /var/log/nginx/blog_error.log; # 这里是针对静态资源文件做个缓存 location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { expires 1d; add_header Pragma public; add_header Cache-Control "public"; } # 这里就是把请求转给我们的静态文件了 location / { try_files $uri $uri/ /index.html; } }
如果使用了hexo-pdf插件,并且将文件放到服务器上,则还需添加:
1 2 3 location ~* \.(pdf)$ { add_header "Access-Control-Allow-Origin" "http://nagland.github.io"; }
由于nginx的运行用户没有权限访问网站所在的目录,检查:
可以将user的值改为当前用户名。
重启: