安装软件
安装 Nginx、PHP7和Mysql
sudo apt update
sudo apt install nginx php7.3-fpm php7.3-curl php7.3-gd php7.3-mbstring php7.3-mysql php7.3-imap php7.3-opcache php7.3-xml php7.3-xmlrpc php7.3-zip uw-mailutils php-pear mariadb-server -y
sudo systemctl start php7.3-fpm.service
配置
配置Mariadb
- 安装完毕后,暂时还不能使用,需要通过sudo mysql 登录进行修改密码,授权等操作,这些操作与其他MySQL是一样的。
$ sudo mysql
MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO root@'localhost' IDENTIFIED BY '123456';
MariaDB [mysql]> FLUSH PRIVILEGES;
MariaDB [mysql]> exit;
- 需要注意的是,在raspbian中,MySQL默认是无法进行远程登陆的,需要修改配置
$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf //默认的配置文件位置
#port = 3306 //需要将这行的注释去掉,开启3306端口
##bind-address = 127.0.0.1 //需要进行注释的内容,允许其他地址可以访问数据库
- 配置好Mariadb后启动数据库
$ sudo systemctl start mysql.service
$ sudo systemctl restart mysql.service
$ sudo systemctl stop mysql.service
$ sudo systemctl enable mysql.service
配置Nginx
- 打开Nginx配置文件
sudo nano /etc/nginx/sites-available/default
- ctrl+w查找index,在前面加上index.php
index index.php index.html index.htm ;
- 再在文件中增加一下内容:
# Typecho伪静态
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 last;
}
# PHP配置
location ~ .*\.php(\/.*)*$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
}
- 打开Nginx另一处的配置文件
sudo nano /etc/nginx/nginx.conf
- 开启Gzip压缩
gzip on;
gzip_min_length 1000;
gzip_buffers 16 8k;
gzip_comp_level 6;
gzip_http_version 1.1;
gzip_types gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/vnd.ms-fontobject font/ttf font/opentype font/x-wot/x-woff image/svg+xml
- 修改文件上传大小限制
- 在http {} 段中添加如下代码
client_max_body_size 1024m;
- 启动nginx
sudo systemctl start nginx
配置PHP
- 打开php配置文件
- 注意一定是fpm文件夹下的php.ini,我的文件路径是/etc/php/7.0/fpm/php.ini。
sudo nano /etc/php/7.0/fpm/php.ini
- 在这里面我们需要注意个参数:
post_max_size=128M //post_max_size 限制通过POST方法可以接受的信息最大量
upload_max_filesize=128M //upload_max_filesize 限制PHP处理上传文件的最大值,此值不能大于post_max_size值
max_execution_time=300 //max_execution_time 最大传输时间,若超过,则上传失败,单位是秒。若设置为0,则表示没有时间限制
memory_limit=128M //PHP内存限制
- 修改时间
date.timezone = PRC //PRC代表中华人民共和国,当然也可以是Asia/Shanghai
- 重启PHP服务
service php7.0-fpm restart
下载Typecho
wget https://github.com/typecho/typecho/releases/download/v1.1-17.10.30-release/1.1.17.10.30.-release.tar.gz
tar -zxvf 1.1.17.10.30.-release.tar.gz
mv build /var/www/typecho
给予权限
sudo chown -R www-data /var/www/
sudo chmod 755 -R /var/www/
参考文档:
「树莓派3Raspbian-Buster安装lnmp环境搭建Typecho博客」
「typecho中上传文件失败的解决方法」