背景:
家中的树莓派吃土许久,正值假期,想着把它拿出来晒晒,跑几个程序,玩几个DEMO。其中一个就是接下来要说的主角:《树莓派上搭建LNMP+Wordpress打造个人博客》
实验环境:
-
树莓派Raspberry Pi 3B 开发板
-
基于Raspbian stretch 2017-11-29 固件
实验概要:
-
搭建Nginx环境
-
搭建php环境
-
搭建MySQL环境
-
配置Nginx以支持PHP
-
配置Wordpress环境
实验步骤:
-
更新软件源:
sudo apt-get update -y
-
安装nginx服务:
sudo apt-get install nginx
-
安装PHP以及依赖环境:
sudo apt-get install php5-fpm php5-cli php5-curl php5-gd php5-mcrypt php5-mysql php5-cgi
-
安装MySQL服务:
sudo apt-get install mysql-client mysql-server
-
配置Nginx以支持PHP:
-
编辑nginx.conf:
sudo nano /etc/nginx/nginx.conf
-
按照如下配置对nginx.conf进行更改
-
修改 /etc/nginx/sites-enabled/default 如下所示
-
重启nginx mysql php5-fpm服务
worker_processes 1; worker_connections 256; 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;
server {
listen 80;#Web服务端口号,大陆用户可能需要修改为81或8080等
server_name localhost;
root /var/www/html;
access_log /var/log/nginx/localhost.access.log;
#error_page 404 /404.html;
if (!-e $request_filename)
{
rewrite ^(.*)$ /index.php$1 last;
}
location / {
index index.html index.htm index.php default.html default.htm default.php;
}
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
access_log off;
expires 1d;
}
location ~ .*\.php(\/.*)*$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
sudo service ngnix restart sudo service mysql restart suso service php5-fpm restart
-
在default文件下的root文件夹(/var/www/html)创建一个测试页:index.php 内容如下:
-
访问localhost,查看是否正确输出php信息

配置Wordpress:
具体步骤:
从wordpress官方网站下载源码:
直接访问:localhost,根据wp网站初始化安装程序的说明完成相应的步骤即可。(期间会需要配置数据库,此时需要填写在安装mysql-server过程中配置的数据库root密码)
遇到的问题与解决方案(Q&A)
-
在当前版本上安装MYSQL服务器没有出现设置Root密码选项,故不知默认的root密码是什么。
-
MySql Error 1698(28000)问题的解决方法:
解决思路:1、停止MYSQL相关服务
2、启动跳过权限检查模式下的MYSQL服务
3、利用root用户在MYSQL中修改root的密码
具体步骤: 1、sudo service mysql stop
2、mysqld --skip-grant-tables &
3、mysql -u root
4、update mysql.user set password=PASSWORD('newpassword') where User='root';
5、flush privileges
6、sudo service mysql restart
解决思路:MySql Error 1698(28000)问题的解决方法
1、sudo service mysql stop
2、mysqld --skip-grant-tables &
3、mysql -u root
4、update mysql.user set authentication_string=PASSWORD('newPwd'), plugin='mysql_native_password' where user='root';
5、flush privileges
6、sudo service mysql restart