安装Apache

Apache服务器可以从Debian的源中下载。可以用apt下载。

首先要更新apt的软件列表。如果不运行sudo apt-get updata的话,apt软件就不知道有没有新的软件包或者版本更新。

Apache可以用下面的命令来安装

sudo apt-get install apache2

安装mysql

mysql在Debian的源中也有,可以用这个命令来安装

sudo apt-get install mysql-server

安装过程中,会出现一个提示符让你输入一个密码。

这个密码是mysql root用户的密码。

现在这个版本不会要输入密码,安装完之后直接无密码进入

注意:这个版本有一个问题不知道是开发人员故意设定还是怎么

  • 安装mysql-server的过程没有提示输入root的password
  • 安装成功后,输入指令mysql -uroot,提示Access denied for user ‘root’@’localhost’
  • 输入sudo mysql -uroot可以直接连接成功
  • 输入sudo mysql -uroot -p后回车输入任意password也可以直接连接成功
  • 输入mysql -h 127.0.0.1 -P 3306 -uroot -p提示Access denied for user ‘root’@’localhost’

----------------------------------------------------------------------------------------------------------------

我的解决方法

  • 需要给root设置password
  • 需要将用户表中plugin字段由auth_plugin设置成mysql_native_password

sudo mysql -uroot     进入我们的mysql,一般能空密码进去的

在里面输入

USE mysql;

UPDATE user SET password=PASSWORD('123456') WHERE user='root';

UPDATE user SET plugin='mysql_native_password' WHERE user='root';

FLUSH PRIVILEGES;

exit;

现在我们退出了

sudo systemctl restart mysql(重启服务)

sudo mysql -uroot(现在这个命令是进不去的)

要输入sudo mysql -uroot -p123456

这里的账号密码是用来进入phpmyadmin的

安装PHP

Perl是系统预装的,所以我这里只写PHP的安装。

输入下面的命令,就可以安装PHP,以及PHP访问mysql数据库所需要的库。

sudo apt-get install php

sudo apt-get install php-mysql

安装phpmyadmin

sudo apt-get install phpmyadmin

安装过程中弹出选择框 
第一次的弹框有apache和lightd两个选项,按空格选中Apache2,回车 
第二次选择No,除非你会手动配置phpmyadmin的一些设置

sudo a2enmod rewrite

sudo ln -s /usr/share/phpmyadmin /var/www/html

最后重启一下你的树莓派;]

配置完成

安装完成后,可以在浏览器中输入你路由器的IP或域名,就可以访问你的网站了。

你应该能看到一个页面显示“It works”,但是没有其它内容。

删掉/var/www/html/index.html,创建一个/var/www/html/index.php,可以测试服务器和PHP工作是否正常。

最后我们还要配置一个ngrok开机自启(有需要的弄,这个你可以不弄)

虽然将开机启动后要执行的代码放到/etc/rc.local中可实现开机自动运行,但是这样并不利于管理。

而且我至今还没学会

今天,我们模仿服务来实现开机自启动
思路很简单,就是在/etc/systemd/system/目录下创建一个叫做ngrok.service的文件,然后写入一下代码:

[Unit] 
Description=ngrok 
After=network.target 
[Service] 
Type=simple 
ExecStart=这里写你启动ngrok的命名
[Install] 
WantedBy=multi-user.target

这样的话系统就会把我们的脚本识别为服务,然后我们就可以用systemctl这个工具来轻松管理ngrok的运行与启动。

1. 运行ngrok 
sudo systemctl start ngrok

2. 查询ngrok的运行状态 
sudo systemctl status ngrok

如果没运行起来可能是你命令或权限的问题:解决方法把你的命名复制出来到终端运行如果能运行就应该没问题,如果还是不能启动服务

你可以尝试重启系统,如果还是不行尝试把你的ngrok移动到/usr/bin/

3. 实现开机自启动ngrok 
sudo systemctl enable ngrokw

我们仅仅写了一个文件,就实现了ngrok的管理,是不是觉得很不错那!

此文章用到的网络文档:

https://www.aliyun.com/jiaocheng/120428.html

http://shumeipai.nxez.com/2013/10/13/install-and-config-lamp.html

https://blog.csdn.net/a791693310/article/details/80612573

树莓派搭建web服务器(详细且良心)的更多相关文章

  1. 树莓派搭建WEB服务器

    树莓派搭建WEB的教程网上有许多,但感觉每一篇都有一些问题,这次我将网上的教程汇总,并亲身实践,将注意的问题都写进去,方便新手学习! 目录:1,安装nginx+sqlite+php5打造轻量级服务器, ...

  2. 【转】用树莓派搭建web服务器

    本文将详细介绍如何在树莓派上配置服务器,和<教你在Xubuntu上搭建LAMP服务器>有些类似,多了一些介绍在树莓派上的不同步骤的地方. 这种服务器的配置被称为LAMP,是最流行的服务器配 ...

  3. 树莓派之web服务器搭建

    树莓派之web服务器搭建 (一)使用ufw创建防火墙 设置目的:可以完全阻止对树莓派的访问也可以用来配置通过防火墙对特点程序的访问.使用防火墙更好的保护树莓派. 准备工作 1.带有5V电源的树莓派 2 ...

  4. Ubuntu 搭建Web服务器(MySQL+PHP+Apache)详细教程

    Ubuntu 搭建Web服务器(MySQL+PHP+Apache)详细教程 看了好多人的博客,有的不全 or 有问题,整理了一下,适合小白 新手先整理几个小问题 1.为啥使用 Linux 搭建服务器? ...

  5. 轻松使用Nginx搭建web服务器

    如果读者以前做过web开发的话,就应该知道如何去搭建一个web服务器来跑你的web站点,在windows下你可能会选择去用IIS,十分的快捷,在linux下,你可能首先会想到apache,“一哥”( ...

  6. CentOS 6.2下搭建Web服务器

    1Centos 6.2下搭建web服务器 如今,Linux在Web应用越来越广,许多企业都采用Linux来搭建Web服务器,这样即节省了购买正版软件的费用,而且还能够提高服务器的安全性. 之前我们介绍 ...

  7. Python搭建Web服务器,与Ajax交互,接收处理Get和Post请求的简易结构

    用python搭建web服务器,与ajax交互,接收处理Get和Post请求:简单实用,没有用框架,适用于简单需求,更多功能可进行扩展. python有自带模块BaseHTTPServer.CGIHT ...

  8. Mac上一条命令搭建web服务器

    实际测试工作中偶尔会需要搭建Web服务器环境,由于Mac OS X自带了Apache和PHP环境,只需要简单的启动就可以. 开启Apache 开启Web服务器的方法有两种(默认启动端口号是80): 打 ...

  9. Android手机用KSWEB搭建Web服务器成功安装WordPress

    之前部落分享的几个免费Web服务器软件都是用来安装在本地电脑上,搭建Apache.PhpMyAdmin.MySQL等网站运行环境,然后我们就可以在电脑上测试运行Wordpress.Discuz! 论坛 ...

随机推荐

  1. stark - 2 ⇲路由分发

    在介绍前面三个注意点后,开始写stark组件内容. from django.apps import AppConfig from django.utils.module_loading import ...

  2. python 类,对象

    声明类 ''' class 类名: '类的文档字符串' 类体 ''' #我们创建一个类 class Data: pass 声明类 class Person: #定义一个人类 role = 'perso ...

  3. 论文阅读 | FoveaBox: Beyond Anchor-based Object Detector

    论文阅读——FoveaBox: Beyond Anchor-based Object Detector 概述 这是一篇ArXiv 2019的文章,作者提出了一种新的anchor-free的目标检测框架 ...

  4. python logging模块的使用

    logging 专门用于记录日志的模块,相对于print来说,logging 提供了日志信息的分级.格式化.过滤等功能.在程序中定义丰富有条理的log信息,可以方便分析程序的运行状态,在发生问题是可有 ...

  5. js获取字符串字节的位数

    ifSubUser.getBlength = function(str){ ;i--;){ n += str.charCodeAt(i) > ? : ; } return n; }

  6. Vue vs React: Javascript 框架之战

    https://baijiahao.baidu.com/s?id=1608210396818353443&wfr=spider&for=pc    原文档 正如我们之前提到的,Word ...

  7. light table 添加行号 更新

    在上一个笔记修改完字体后.再添加上行号

  8. PHP的parse_ini_file()函数,解释结构类型php.ini格式的文件

    1.直接读取,返回一维数组 如: "test.ini" 的内容: [names] me = Robert you = Peter [urls] first = "http ...

  9. Java动态代理的理解

    代码内容: https://github.com/cjy513203427/Java_Advanced_Knowledge/tree/master/src/com/advance/dynamic_pr ...

  10. url字符转义

    作者在做短链接功能时,url参数里带了&字符,结果无法转换.后来查了一下,发现可以用其它符号代替.下面是对应表 +    URL 中+号表示空格                         ...