树莓派3B+ Web服务器(NGINX+PHP+MYSQL5.7)
树莓派3B+ Web服务器(NGINX+PHP+MYSQL5.7)之前写过 树莓派3B+ Web服务器(LAMP)服务搭建,现在想补充一个基于NGINX的。1.安装 Nginx 和 PHP7在 Pi 的终端运行以下命令。# 安装Nginxsudo apt install -y nginxsudo systemctl restart nginx# 安装P...
树莓派3B+ Web服务器(NGINX+PHP+MYSQL5.7)
之前写过 树莓派3B+ Web服务器(LAMP)服务搭建,现在想补充一个基于NGINX的。
1.安装 Nginx 和 PHP7
在 Pi 的终端运行以下命令。
# 安装Nginx
sudo apt install -y nginx
sudo systemctl restart nginx
# 安装PHP7
sudo apt install -y php7.0-fpm php7.0-cli php7.0-curl php7.0-gd php7.0-mcrypt php7.0-cgi php7.0-mysql
sudo systemctl restart php7.0-fpm
如果安装成功,可通过 http://树莓派IP 访问到 Nginx 的默认页。Nginx 的根目录在 /var/www/html。
接下来配置 Nginx 来让 Nginx 能处理 PHP。
# 进入编辑
sudo vim /etc/nginx/sites-available/default
# 将其中的如下内容
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# 替换为
index index.html index.htm index.nginx-debian.html index.php;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
location ~\.php$ {
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
client_max_body_size 256m;
修改一下上传文件大小限制:
# 打开配置文件
sudo vim /etc/php/7.0/fpm/php.ini
# 每个脚本运行的最长时间,单位秒,0为无限
max_execution_time = 0
# 每个脚本可以消耗的时间,单位也是秒
max_input_time = 300
# 脚本运行最大消耗的内存
memory_limit = 256M
# 表单提交最大数据为 8M,针对整个表单的提交数据进行限制的
post_max_size = 20M
# 上载文件的最大许可大小
upload_max_filesize = 10M
最后重启 Nginx 即可
sudo service nginx restart
#添加一个PHP测试文件
sudo vim /var/www/html/index.php
# 添加如下内容:
<?php
phpinfo();
?>
访问 http://192.168.1.120/index.php 结果如下:
当然你也可以放一个图形界面,监控树莓派运行状态(可选)
sudo apt install -y git
cd /var/www/html
sudo git clone https://github.com/spoonysonny/pi-dashboard.git
sudo mv pi-dashboard status
用浏览器访问http://192.168.1.120/status 可看到如下内容:
2.编译安装mysql
由于树莓派官方源安装的版本太低,所以选择编译安装。
但编译安装耗时近6个小时,所以我把自己编译好的打包了。你们只需要进入相应目录,执行sudo make install
(别忘了安装依赖sudo apt install -y libncurses5-dev
)即可。
(注:本人raspbian版本2018-04-18-raspbian-stretch-lite)
下载地址(1.34G):mysql-all.tar.gz
# 首先下载安装cmake
wget https://cmake.org/files/v3.7/cmake-3.7.2.tar.gz
tar -zxvf cmake-3.7.2.tar.gz
cd cmake-3.7.2
# 编译安装
./bootstrap --prefix=/usr/local/cmake
# 树莓派上不能加-j参数,容易报错
make
sudo make install
# 然后下载mysql,因为官方下载地址速度太慢了,所以换成搜狐镜像站下载
wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-boost-5.7.17.tar.gz
# 解压
tar -zxvf mysql-boost-5.7.17.tar.gz
# 进入
cd mysql-5.7.17
# 安装依赖
sudo apt install -y libncurses5-dev
# 编译准备,加上boost库
/usr/local/cmake/bin/cmake . -DWITH_BOOST=boost/boost_1_59_0
# 编译准备,扩展交换空间(由于编译需要占用大量内存,树莓派1G内存不够用)
# 以下3部分别是 创建swap文件、格式化、启用swap空间
sudo dd if=/dev/zero of=/swapfile bs=64M count=16
sudo mkswap /swapfile
sudo swapon /swapfile
# 查看swap空间(可以看到swap有1G多空间)
free -m
# 清屏
clear
# 开始编译
make
# 然后安装
sudo make install
3.配置mysql
由于编译安装mysql占版面太多,就将配置mysql分到第3部分。
cd /usr/local/
sudo chown -R pi mysql
sudo chgrp -R pi mysql
# 初始化mysql配置表
cd mysql
sudo bin/mysqld --initialize --user=pi
# 然后看输出的最后一行的密码(upu.e,s3X!f?)
2018-05-14T02:58:38.726560Z 1 [Note] A temporary password is generated for root@localhost: upu.e,s3X!f?
# 然后初始化SSL安全连接MySQL数据库(这个看需求)
# sudo bin/mysql_ssl_rsa_setup
# 将mysql/目录下除了data/目录的所有文件,改回root用户所有,pi用户只需作为mysql/data/目录下所有文件的所有者
sudo chown -R root .
sudo chown -R pi data
# 复制配置文件
sudo cp support-files/my-default.cnf /etc/my.cnf
sudo vim /etc/my.cnf
# 在最后一行`sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES`前添加如下内容
#--mysql目录
basedir = /usr/local/mysql
#--数据库目录
datadir = /usr/local/mysql/data
#--数据库端口
# port = 3306
character_set_server=utf8
init_connect='SET NAMES utf8'
# 之后启动mysql
bin/mysqld_safe --user=pi &
# 登录mysql
bin/mysql -u root -p
# 然后设置密码
set PASSWORD = PASSWORD('0000');
# 设置用户永不过期
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
# 生效
flush privileges;
# 修改密码
update mysql.user set authentication_string=password('0000') where user='root';
# 为root开启远程登录
update mysql.user set host='%' where user='root' and host='localhost';
# 生效
flush privileges;
quit
# 设置开机自启
sudo sed -i '/exit 0/ i nohup /usr/local/mysql/bin/mysqld --user=pi >/dev/null 2>&1 &' /etc/rc.local
4.安装phpMyAdmin
用过这个的,应该都会安装一下,这是个mysql图形化管理工具,要求在PHP环境下。
# 下载
wget https://files.phpmyadmin.net/phpMyAdmin/4.8.0.1/phpMyAdmin-4.8.0.1-all-languages.tar.gz
tar zxvf phpMyAdmin-4.8.0.1-all-languages.tar.gz
# 移动到WEB目录下
sudo mv phpMyAdmin-4.8.0.1-all-languages /var/www/html/mysql
# 复制一个配置文件
sudo cp config.sample.inc.php config.inc.php
# 并将host的 `localhost` 修改为`127.0.0.1`
sudo vim config.inc.php
# 安装php7.0-mbstring
sudo apt install -y php7.0-mbstring
浏览器打开:http://192.168.1.120/mysql/
输入相应帐号密码。即可进入!!
更多推荐
所有评论(0)