树莓派如何搭建web服务器(nginx +php + mysql + vsftpd +phpmyadmin)

 更新时间:2024年11月06日 09:45:09   作者:阿顿嵌入式  
本文介绍如何使用树莓派搭建Web服务器,包括安装Nginx、PHP、MySQL、ftp和phpMyAdmin,步骤详尽,涵盖不同架构的PHP安装,提供了配置MySQL远程访问和管理数据库的方法,是搭建个人Web服务器的实用指南

 1.安装nginx

sudo apt-get install nginx #安装nginx
sudo systemctl start nginx #启动nginx

2.安装PHP

2.1armhf架构

sudo apt-get install php7.3-fpm php7.3-mbstring php7.3-mysql php7.3-curl php7.3-gd php7.3-curl php7.3-zip php7.3-xml -y

2.2aarch64架构

sudo apt-get install php7.4-fpm php7.4-mbstring php7.4-mysql php7.4-curl php7.4-gd php7.4-curl php7.4-zip php7.4-xml -y

3.配置PHP

sudo nano /etc/nginx/sites-enabled/default #修改配置文件
将:
    index index.html index.htm index.nginx-debian.html;
改为:
    index index.php index.html index.htm index.nginx-debian.html;
 
将:
	#location ~ \.php$ {
       #       include snippets/fastcgi-php.conf;
       #
       #       # With php5-cgi alone:
       #       fastcgi_pass 127.0.0.1:9000;
       #       # With php5-fpm:
       #       fastcgi_pass unix:/var/run/php5-fpm.sock;
       #}
改为:
	location ~ \.php$ {
               include snippets/fastcgi-php.conf;
               fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
        }
sudo systemctl reload nginx #重新加载NGINX的配置

4.修改目录权限

cd /var/www/htmlsudo chmod -R 0777 ./

配置完这些东西就可以在浏览器上输入树莓派的IP并回车,就可以看到以下的效果了

5.安装MySQL

5.1安装

sudo apt install mariadb-server

5.2创建访问密码

sudo mysql #进入 mariadb-server 服务器
use mysql;
#修改密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('密码');
例如:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');
#修改密码
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('密码');
例如:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');
sudo systemctl restart mysql #重启MySQL

5.3配置远程访问(如果不需要Navicat之类的软件管理数据库,请跳过)

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf #打开
#找到被注释掉的 port 和没有注释掉的 bind-address,分别对其取消注释和增加注释。保存后重启服务
sudo systemctl restart mysql #重启MySQL
mysql -u root -p  #登录MySQL
#赋予任何主机访问权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; 
#允许指定主机(IP地址)访问权限
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.1' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES; #刷新权限表使修改生效

 就可以在软件上,远程管理数据库了!

6.安装ftp

sudo apt-get install vsftpd #安装vsftpd
sudo nano /etc/vsftpd.conf #修改配置 
#修改如下这些配置就够了,如果没有,可自行添加
anonymous_enable=NO     #匿名帐号 
local_enable=YES        #本地帐号
write_enable=YES       #允许使用任何可以修改文件系统的FTP的指令
local_umask=022        #屏蔽权限即本地用户上传的文件权限
anon_upload_enable=YES     #允许匿名用户上传文件
anon_mkdir_write_enable=YES  #允许匿名用户创建新目录
dirmessage_enable=YES     #允许为目录配置显示信息    
ascii_upload_enable=YES     #管控是否可用ASCII 模式上传
ascii_download_enable=YES    #管控是否可用ASCII 模式下载
sudo /etc/init.d/vsftpd start #创建开机启动

 这个就可以使用ftp软件连接了!

7. 安装 phpmyadmin

sudo apt-get install phpmyadmin #安装phpMyAdmin
sudo ln -s /usr/share/phpmyadmin /var/www/html #设置phpMyAdmin软连接

之后在浏览器输入树莓派的IP加上 /phpmyadmin/,就可以仿问了!

到此这篇关于树莓派搭建web服务器(nginx +php + mysql + vsftpd +phpmyadmin)的文章就介绍到这了,更多相关树莓派搭建web服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决502 Bad Gateway错误的详细指南与实例

    解决502 Bad Gateway错误的详细指南与实例

    这篇文章主要给大家介绍了关于解决502 Bad Gateway错误的详细指南与实例,502 Bad Gateway错误通常是由于网关或代理服务器在尝试访问上游服务器(通常是Web服务器)时未能及时接收到响应导致的,文中将解决办法介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • 详解Nginx服务器的nginx-http-footer-filter模块配置

    详解Nginx服务器的nginx-http-footer-filter模块配置

    这篇文章主要介绍了Nginx服务器的nginx-http-footer-filter模块配置,nginx-http-footer-filter用作在请求的页面底部插入代码,需要的朋友可以参考下
    2016-01-01
  • 如何配置Nginx作为WebSocket代理

    如何配置Nginx作为WebSocket代理

    这篇文章主要介绍了如何配置Nginx作为WebSocket代理问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • Nginx配置Prometheus监控的实现

    Nginx配置Prometheus监控的实现

    本文主要介绍了Nginx配置Prometheus监控的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • 解决nginx“504 Gateway Time-out”错误

    解决nginx“504 Gateway Time-out”错误

    这篇文章介绍了解决nginx“504 Gateway Time-out”错误的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • 详解linux中 Nginx 常见502错误问题解决办法

    详解linux中 Nginx 常见502错误问题解决办法

    这篇文章主要介绍了详解linux中 Nginx 常见502错误问题解决办法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Nginx和GeoIP模块读取IP所在的地域信息方法

    Nginx和GeoIP模块读取IP所在的地域信息方法

    今天小编就为大家分享一篇Nginx和GeoIP模块读取IP所在的地域信息方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Nginx实现前后端分离

    Nginx实现前后端分离

    本篇文章是小编整理的关于Nginx实现前后端分离的详细代码,如果你对此有需要,可以参考测试下。
    2018-02-02
  • Nginx转发鉴权全过程

    Nginx转发鉴权全过程

    这篇文章主要介绍了Nginx转发鉴权全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • Nginx通过代理服务器访问目标接口的实现

    Nginx通过代理服务器访问目标接口的实现

    本文主要介绍了Nginx通过代理服务器访问目标接口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08

最新评论