树莓派安装typecho
树莓派应用很多,多到实在无法去取舍到底折腾什么好,当然很多还是不会,好在百度,谷歌资料很多。所以很多不会的查查资料就有了,typecho这个博客程序还是很轻量的,相对Wordpree实在简略了好多,当然这并不影响我们记录,虽说外观很重要,但是内容还是最重要的。零零散散安装完了,还是想记录下过程,搜到一篇教程比较完整,引用下..
一、搭建服务器
前提.树莓派已经装好系统了.之前文章有提到了,不要问我在哪,我也不知道。 第一步,更新系统
apt-get update
第二步,下载Nginx、MySQL和PHP 安装过程中会让你输入数据库(mysql)密码.务必记住..
apt-get install nginx php5-fpm php5-cli php5-curl php5-gd php5-mcrypt php5-mysql php5-cgi mysql-server
第三步,配置Nginx
nano /etc/nginx/nginx.conf
修改如下:
- user www-data; worker_processes 1; 修改这里 pid /var/run/nginx.pid; events { worker_connections 64; 修改这里 #multi_accept on; }
继续向后找到gzip 去掉前面的注释 修改如下: - gzip on; gzip_disable “msie6”; gzip_vary on; gzip_proxied any; gzip_comp_level 6; gzip_buffers 16 8k; gzip_http_version 1.1; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
保存并退出 Nginx.conf.
第四步,配置PHP
nano /etc/php5/fpm/php.ini
找到这一段: - ; Maximum amount of memory a script may consume (128MB) ; http://php.net/memory-limit memory_limit = 32M 修改这里
再找到这一段: - ; cgi.fix_pathinfo provides real PATH_INFO/PATH_TRANSLATED support for CGI. PHP’s ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. ;http://php.net/cgi.fix-pathinfo cgi.fix_pathinfo=1 修改这里
保存并退出 php.ini.
nano /etc/php5/fpm/php-fpm.conf
找到这一段:
- ; The maximum number of processes FPM will fork. This has been design to control ; the global number of processes when using dynamic PM within a lot of pools. ; Use it with caution. ; Note: A value of 0 indicates no limit ; Default Value: 0 process.max = 4 修改这里
第五步,配置网站
nano /etc/nginx/sites-enabled/default
对应修改如下:
server { 去掉注释
listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
root /home/pi/www; 修改主目录
index index.php index.html index.htm;
# Make site accessible from http://localhost/
server_name localhost;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 last;
} 添加这一段
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
#try_files $uri $uri/ /index.html;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
index index.html index.php;
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
} 添加这一段
还有这段:
location ~ \.php$ {
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
第六步,重新加载服务:
sudo service nginx reload
sudo service php5-fpm reload
sudo service mysql reload
第七步,安装phpmyadmin(熟悉的数据库管理工具)
mkdir /home/pi/www
wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.5.7/phpMyAdmin-3.5.7-all-languages.zip
unzip phpMyAdmin-3.5.7-all-languages.zip
第八步,最后给文件夹权限
chmod 755 /home/pi/www -R
二、部署typecho
环境部署完了,接下去当然是部署应用,我们的主角:typecho 具体版本,请移步官网自己下载,我用的是1.0.
wget https://github.com/typecho/typecho/releases/download/v1.0-14.10.10-release/1.0.14.10.10.-release.tar.gz
tar zxvf 1.0.14.10.10.-release.tar.gz
cp build/* /home/pi/www -r
然后就按照官方给出的教程自己设置就OK了。反正总的来说应该没什么问题.
三、动态顶级域名
关于这一段,我自己其实采用了一个比较简单的方案,因为家里有个闲置的花生棒,所以转发了一下就没问题了,不过我们也没有必要特地去买一个,而且花生棒的域名是固定的,如果是别的,又得买。所以这里推荐之前的说到引用的文章的方法.教程如下: 首先我们要保证MAC和的IP对应,在路由界面下绑定树莓派的MAC和内网IP。这里我就不做说明了,因为毕竟大家路由不是一个样子,基本在静态地址分配页面,然后我们需要设置转发规则,如果只是为了网站,80口就够了,但是有些同学可能需要远程SSH连接树莓派,所以添加一个22端口.当然你可以设置DMZ模式. 博文中提到了3种方式, 第一种:利用花生壳。首先去注册一个花生壳账号,然后在路由器的设置页面登陆即可。缺点是不支持绑定自己的域名(当然你也可以通过域名转发来实现)。 第二种:利用http://dynamicdns.org, 在上面注册个账号,然后安装它的客户端就可以实现动态域名。只不过也不支持绑定自己的域名,不过该功能不需要路由器支持,我也觉得十分美好! 第三种:就是我接下来要介绍的一种:利用DNSPOD的API来实现动态域名。首先大家需要在DNSPOD上面注册一个账号,并且绑定域名。并且将需要绑定的子域名或者顶级域名的【记录类型】修改为【A】,(后面的IP就随便填一个吧,因为到时候程序会自动修改的) 新建pypod.py文件,内容如下,注意替换上你的Email,密码,域名ID,记录ID等参数(参数获取方法请往下看)。
域名ID,记录ID的获取方法: 获得domain_id可以用curl curl -k https://dnsapi.cn/Domain.List -d “login_email=xxx&login_password=xxx”
获得record_id类似 curl -k https://dnsapi.cn/Record.List -d “login_email=xxx&login_password=xxx&domain_id=xxx”
接着拷贝pypod.py到/etc/bin/ ,然后修改/etc/rc.local,在exit 0之前加上这句: python ./usr/bin/pypod.py 自此大功告成!!Enjoy!它会在后台一直运行,每隔30秒检查一遍IP,如果修改了就更新域名绑定的IP 特别注明:pypod.py代码摘自https://gist.github.com/chuangbo/833369
- 原文作者:NyKO
- 原文链接:https://nyko.me/2015/11/24/raspberry-typecho.html
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。