2022年,树莓派搭建web服务器,加各种bug的解决
配置:
1、树莓派3B+
2、树莓派系统:2022-1-28 桌面版
文章目录
一、首先更新安装工具:
网上有一些教程会教切换国内源,让然后会增加下载速度。我尝试过后发现确实会增加下载速度但是在更新安装工具之前绝对不要换源,我亲身试错过。绝对绝对不要在更新安装工具之前换源,不然以后安装其他软件的时候会报错。而且有时候update的时候也会报错。而且我个人感觉虽然慢一点但是也不影响什么,一般也就几分钟就能完成,最多十几分钟(如果你的网慢的不行)最多最多半小时也就能完成这一步。此处要注意先upgrade再update
sudo apt-get upgrade
sudo apt-get update
二、安装nginx
在terminal中输入以下代码
sudo apt-get install nginx
如果之前安装了Apache需要卸载
sudo apt-get remove apache2
注意:如果卸载不了可以直接重新刷一个系统,因为安装特别简单!我就曾重新刷了无数次系统,读卡器都报废了好几个了
安装完毕之后我们就可以启动nginx了
sudo systemctl start nginx
之后我们需要测试一下nginx是否安装成功,查看一下我们树莓派的IP地址
hostname -I # 查看IP地址
我们可以在局域网中的任何一个设备上的浏览器中的输入查看到的ip地址,我们就可以查看以下界面!
此时我们的nginx就部署完毕了,一般这一步是不会出现错误的。如果有出现错误那就重新刷一下系统重新安装一下!
三、安装php(这一步是出BUG最多的一个步骤)
查了很多资料得出以下结果,输入以下代码就可以安装,但是有很多人会安装不上
sudo apt-get install php7.3-fpm php7.3-mysql -y
不要紧接下来我们可以曲线救国,直接安装php7.4
sudo apt-get install php7.4-fpm php7.4-mysql -y
四、安装MySQL数据库
树莓派安装不了MySQL数据库,只能安装和MySQL有一样功能的mariadb数据库
sudo apt-get install mariadb-server php-mysql -y
设置MySQL密码
sudo mysql_secure_installation
进入MySQL进行设置
mysql -u root -p
输入密码就能成功进入数据库了。
如果进不去则进行以下操作:
1、以管理员身份进入数据库
sudo mysql -u root
2、进入后进行设置
use mysql;
update user set plugin="mysql_native_password";
如果能进去则进行以下操作
进入mysql数据库,再从user表单中找出plugin查看是不是mysql_native_password
如果是则安装完毕
use mysql; # 选中mysql数据库(database)
select plugin from user; # 查找user表单中的plugin
五、配置nginx
此处你需要注意你想要用什么端口,电信宽带会封掉80和8080端口所以你就需要看看你应该选择以下哪个方法了
打开nginx配置文件
sudo nano /etc/nginx/sites-available/default # 打开nginx配置文件进行编辑
打开后,按照下面的内容进行修改。要注意别全部复制粘贴,一定要改一下里面的中文字,以下方法是没有用80端口进行的设置。
server {
listen 8888 default_server; # 如果可以用80端口就改成listen 80 default_server;
listen [::]:8888 default_server; # 如果可以用80端口就改成listen [::]:80 default_server;
root /var/www/html/main; # 注意此处多加了一层main文件夹所有的web文件都要放在main文件夹里如。果80端口可以用则改成root /var/www/html; 此时所有的web文件都放在html文件夹里
index index.php index.html index.htm;
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$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_pass 127.0.0.1:9000;
}
}
下一步我们需要重启以下nginx服务
sudo systemctl restart nginx
然后再测试一下nginx服务
sudo nginx -t
如果出现就表示成功了
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
现在我们需要创建我们的第一个网页
以下步骤需要按照你选择的web文件存放文件夹决定
cd /var/www/html # 切到存放web文件的文件夹里
sudo mkdir main # 创建main文件夹
cd main # 切进main文件夹
sudo nano index.php # 创建index.php文件,并进行编辑
输入以下代码
<?php phpinfo();
ctrl + x 退出,y 保存数据,enter回车进行保存
成功退出后进行验证:刷新之前用IP地址打开的nginx网页出现以下界面,则表示成功。
然后你就可以选择搭建网站的工具进行网站搭建了,我用的是wordpress,有人用的是宝塔进行服务器管理。这两种方法我都用过现在我和你们说说我遇到的问题,羞愧的是我还没有解决这些问题。如果你们遇到相同的问题我觉得还是绕道吧别在一个问题上死磕,毕竟还有别的工具可以做到同样的效果。
wordpress
1、安装使用wordpress很简单,样式特别多,挺不错的一个平台,但是一个特别折磨人的点是当你用外网访问你的网站时加载不了css,就相当于无论你把你的网站做的多漂亮,在外网都显示不出来只显示文字,而且所有其他页面也不能打开。所以我绕道了。如果你能解决这个问题那么恭喜你!!!
2、权限问题
有时候你想要删除或者安装一个主题时出现不能删除或者不能安装主题。网上可以搜到很多相似的教程不过也有很多是凑数的,或者转发的根本解决不了问题。有很多教程教你把文件夹777一下就行但是这是解决不了问题的。找了很多文章我终于找到了解决办法。
cd /var/www/html/main # 切换到你的web文件存放文件夹
sudo chown -R www-data:www-data wordpress # 赋予权限
宝塔
宝塔是个一站式的网站搭建和管理软件,手残党都可以玩的软件,但是我在树莓派上安装不上宝塔。不知道为什么,折腾了很多天都解决不了。所以绕道了。如果你能解决这个问题那么恭喜你!!!
现在我们的树莓派web服务器就搭建好了!但是服务器还没有映射到外网上!
如果想要将web服务器映射到外网可以参考我的另一篇博文https://blog.csdn.net/wei190328/article/details/125424836?spm=1001.2014.3001.5501