如何使用Quark搭建web服务器

首先,我们来简单了解一下quark:

它的作者叫彭志辉,20年通过“华为天才少年计划”加入华为,目前是华为AI架构师。人称"野生钢铁侠",从前期三维建模到 3D打印再到后期加工改造,程序开发、电路板开发设计、硬件焊接,凭一己之力就完成了整个项目,可谓一人顶一个团队。

quark是一个使用linux系统的超小尺寸开发板,搭载了全志H3的CPU,使用了核心板和扩展版配合的设计思路。核心板尺寸为31mmx22mm,比大部分开发板都要小,扩展板尺寸也只有40mmx35mm,已经是把尺寸几乎压缩到了极限。并且还留出了一排金手指,使其能够实现IO扩展,并且还贴心的加入了现成的麦克风、运动传感器、IPS显示屏、wifi蓝牙模块,极大的拓展了可玩性以及实用性。虽然性能不是特别的强悍,但是用作个人博客级别的小型项目已经足够了。

就是这玩应:


内网访问

示例项目采用:vue+express+mysql完成

我们从拿到板子开始说(保姆级教程):

首先我们需要一张储存卡(大于16g)用来烧录系统, 烧录系统及设置方法 (不要忘了连接wifi)。

ok,完成了上面的事,你应该就能顺利的使用quark了。但是用命令行非常的不舒服,别担心它还有图形化界面。首先,我们在板子中输入ifconfig然后回车,之后你会看到你的IP地址。然后我们在windows中找出系统自带的远程桌面连接将刚刚获得的IP地址输入进去,点击连接。这事界面窗口中会显示让你输入用户名和密码,quark系统自带的初始用户名:pi 密码:quark ,输入之后就能进入界面了。



进入界面后,首先右键打开终端,进入root:

su root
密码:quark

由于稚晖君大佬十分贴心,已经帮我们弄好了nginx服务器,所以我们直接启动就可以,启动命令:

sudo /etc/init.d/nginx start

看到ok之后就是启动成功,我们回到windows系统中,打开浏览器在地址栏中输入quark的IP地址,能成功访问并且显示出内容就是成功了!

接下来开始第二步:

将我们打包好vue的dist文件放到quark中的/home/pi/WorkSpace/Web/www/pengzhihui目录下(注意:需要将原本的index.html删除)传输工具推荐使用Xftp,传输完成之后简易重新启动nginx并且回到windows重新访问一遍以确保是否出错。

重启nginx命令:

sudo /etc/init.d/nginx restart

如果可以看到自己的前端静态网页的话,我们就可以来进行下一步操作了:

1、安装MySQL数据库

// 首先更新一下APT软件源
apt-get update

安装MySQL server

apt-get install mysql-server
  • 输入y继续执行,然后会弹出设置root密码的对话框,输入后点击ok再次确认密码(这里的密码很重要一定不要忘),然后回车安装完成。

启动MySQL数据库

mysql -u root -p // 然后输入刚刚设置的密码

下一步我们要将windows下的数据库传到quark中的数据库中

打开Windows下数据库的图形化软件,我这里用的是Navicat,点击连接

弹出这个之后点击连接测试,如果能正常连接,就点击确定。如果出现错误大概率是报2003,解决方案为:进入quark在命令行中输入:

vim /etc/mysql/mysql.conf.d/mysqld.cnf

打开后找到其中的bind-address属性改为bind-address = 0.0.0.0然后重启MySQL,在命令行中输入netstat -an | grep 3306后打印出:tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 即为成功。回到windows中重新按照上面的方法连接即可。

如果还是不行就试一下这行命令:

create user 'root'@'%' identified with mysql_native_password by '密码';

连接后如果不能看到quark中的数据库的话就回到quark终端里输入下面的命令,原因是我们要进行一个权限分发:

grant all privileges on *.* to 'root'@'%';
flush privileges;

回到windows中右键断开连接,再重新连接一下即可。

下一步我们来将Windows下的数据库传到quark的数据库中。首先打开在Windows下的数据库,右键—转储sql文件—结构和数据。完成后将会得到一个sql文件。

然后打开连接到quark的数据库,右键创建一个数据库,创建好之后右键——查询——新建查询。之后打开刚才的sql语句,全选复制,粘贴到新建查询中,运行。

为了确保正确,我们回到quark中,在mysql中输入下面的命令:

show databases; // 查询数据库
select * from 表名; // 查询表

如果能看到刚才创建的数据库和表即为成功。


接下来我们来安装nodejs,首先要安装nvm:

输入安装nvm命令

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash

这步很有可能出现错误Failed to connect to raw.githubusercontent.com port 443,原因是GitHub的raw.githubusercontent.com域名解析被污染了,只要修改host文件即可,命令如下:

// 打开host文件
sudo vim /etc/hosts

// 填入以下内容
github的IP地址 raw.githubusercontent.com

上面GitHub的IP地址可以在这里查找 进入后输入github的域名搜索即可 ,全部完成之后重新安装。

然后必须要配置环境变量,cd到根目录下,输入vim .bashrcsource ~/.nvm/nvm.sh加入到里面,保存退出即可。

然后在终端输入source .bashrc就可以了,完成后在终端输入nvm --version打印出版本号即为成功。


下面就可以安装nodejs了,输入以下命令:

// 显示所有可以安装的nodejs版本
nvm list available
// 找到自己所需要的版本之后 version是版本号
nvm install <version>
// 也可以安装最新稳定版
nvm install stable
// 安装成功后查看是否已经开始使用
nvm ls // 显示所有安装的nodejs版本,如果没有使用就输入下面的命令,如果已经开始使用请忽略
nvm use <sersion>

安装完成后,在quark根目录中创建一个空文件夹,回到windows中将后端代码通过xftp传到空文件夹中,然后回到quark,cd到后端代码目录下输入:

npm install pm2 -s // 安装pm2

然后用pm2启动即可,但是这时由于是前后端分离项目,它还会产生一个跨域问题,我们需要到nginx里面配置一下。输入下面的命令:

cd /etc/nginx/sites-available // 进入到配置文件目录
vim default // 打开配置文件

输入以下内容:

完成后重启nginx,回到Windows浏览器中再次输入quark的IP地址,如果成功了就能看到自己的项目成功运行了。


外网访问

到这里我们也只完成了内网访问,如果切换一个网络就访问不到了,所以我们要让外网也能访问到,这里我们使用一个很方便的工具叫花生壳(需事先注册账号)。

  1. 花生壳下载地址: https://dl-cdn.oray.com/hsk/linux/phtunnel_5_0_rapi_armhf.deb ,下载完成后用xftp传到quark中。
  2. 使用cd命令进入安装包所在的文件路径,输入安装命令:dpkg -i 安装包名称。回车,等待安装完成。如:
  3. 输入命令:phddns回车,即可看到拓展功能
phddns start(启动)| status(状态)| stop(停止)|restart(重启)| reset(重置)|enable(开机自启动)
disable(关闭开机自启动)|version(版本)

完成后我们进入远程管理地址:输入刚刚显示出来的SN码和密码,进去后会有一个验证输入之前注册的账号密码即可。下一步就是内网穿透的操作了,用来练习的话使用免费版的就可以。点击添加映射,映射类型可以选择http(需要消费几块钱)然后按照提示输入外网域名,没有域名的话可以使用它自带的或者直接自己买一个自己喜欢的域名,外网端口填80,内网主机填写quark的IP地址,内网端口填写在nginx中配置的(默认是80),然后确定就完成了我们的所有工作。

原文地址http://project-box.cn/#/Home/details?id=30

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值