前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu18和Raspbian搭建LAMP环境+部署图片上传网页+安装Mosquitto

Ubuntu18和Raspbian搭建LAMP环境+部署图片上传网页+安装Mosquitto

作者头像
小锋学长生活大爆炸
发布2020-11-24 11:57:16
9070
发布2020-11-24 11:57:16
举报

文章目录

视频链接:https://www.bilibili.com/video/BV1XK411G7AW/ pictureViewer.zip下载链接:https://download.csdn.net/download/sxf1061700625/13113746

web环境

搭建Linux+Apache+MySQL+PHP环境。

第1步:安装Apache

Apache是一个免费开源软件,可运行世界上50%的Web服务器。

代码语言:javascript
复制
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install apache2
sudo /etc/init.d/apache2 restart

要检查是否安装了Apache,请将浏览器指向您服务器的IP地址(例如http://127.0.0.1)。

可以运行以下命令来显示你的服务器的IP地址:

代码语言:javascript
复制
ifconfig | grep inet | awk '{ print $2 }'

第2步:安装MySQL(Ubuntu)

MySQL是一个强大的数据库管理系统,用于组织和检索数据。

代码语言:javascript
复制
sudo apt-get install mysql-server mysql-client

查看端口:

代码语言:javascript
复制
sudo netstat -tap | grep mysql

用命令激活它:

代码语言:javascript
复制
sudo mysql_install_db

通过运行MySQL设置脚本完成:

代码语言:javascript
复制
sudo /usr/bin/mysql_secure_installation
代码语言:javascript
复制
Would you like to setup VALIDATE PASSWORD plugin? => y
Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1 => 0
New password: => xxxxxxxx
Re-enter new password:  => xxxxxxxx
Remove anonymous users?: => y
Disallow root login remotely?: => y
Remove test database and access to it?: => y
Reload privilege tables now?: => y

第2步:安装MySQL(Raspbian)

代码语言:javascript
复制
sudo apt-get install mariadb-server mariadb-client

用命令激活它:

代码语言:javascript
复制
sudo mysql_install_db

启动服务

代码语言:javascript
复制
/usr/bin/mysqld_safe --datadir='/var/lib/mysql'
sudo service mysql start

通过运行MySQL设置脚本完成:

代码语言:javascript
复制
sudo /usr/bin/mysql_secure_installation
代码语言:javascript
复制
Enter current password for root (enter for none):
Set root password? [Y/n] y
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

第3步:安装PHP

PHP是一种开源的Web脚本语言,广泛用于构建动态网页。

代码语言:javascript
复制
sudo apt install php7.2-mysql php7.2-curl php7.2-json php7.2-cgi php7.2 libapache2-mod-php7.2

测试PHP:

代码语言:javascript
复制
查看版本:
php --version

输出phpinfo:
sudo vim /var/www/html/phpinfo.php
写入如下内容:
<?php echo phpinfo();?>
浏览器输入:
http://127.0.0.1/phpinfo.php

第4步:重新启动apache以使所有更改生效

代码语言:javascript
复制
sudo service apache2 restart

第5步:安装phpmyadmin

代码语言:javascript
复制
sudo apt install php-mbstring php7.2-mbstring php-gettext -y
sudo systemctl restart apache2.service
sudo apt install phpmyadmin -y

安装过程中的选项:

  • 选择 Apache2 并点击确定
  • 选择 Yes来配置 phpMyAdmin 管理的数据库
  • 输入刚设置的数据库密码
  • 若报错,可以选择ignore

安装完成后需要将phpmyadmin的文件夹复制到www/html文件夹下进行管理

代码语言:javascript
复制
sudo cp -Rf /usr/share/phpmyadmin /var/www/html/

打开浏览器并输入http://127.0.0.1/phpmyadmin

输入用户名、密码后登陆

网站部署

放置页面

pictureViewer文件夹整个放到/var/www/html/路径下:

代码语言:javascript
复制
复制:sudo cp -r pictureViewer /var/www/html
或
移动:sudo mv pictureViewer /var/www/html

修改权限:

代码语言:javascript
复制
sudo chmod 777 /var/www/html/pictureViewer/*

将文件夹名pictureViewer修改为MagicMirror

代码语言:javascript
复制
sudo mv /var/www/html/pictureViewer /var/www/html/MagicMirror

浏览器输入http://127.0.0.1/MagicMirror即可

测试是否能上传图片成功

打开并修改文件夹下的testUpload.py:

代码语言:javascript
复制
vim /var/www/html/MagicMirror/testUpload.py
代码语言:javascript
复制
url = 'http://127.0.0.1/MagicMirror/upload_file.php'

运行Python:

代码语言:javascript
复制
cd /var/www/html/MagicMirror/
python3 testUpload.py

若提示缺少库,则先安装:

代码语言:javascript
复制
pip3 install requests

上传成功后,刷新浏览器界面,会多一张图片。

MQTT环境

Eclipse Mosquitto是一个开源消息代理,实现了MQTT协议版本3.1和3.1.1。

Mosquitto安装

添加存储库(Raspbian可跳过):

代码语言:javascript
复制
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa

更新软件包:

代码语言:javascript
复制
sudo apt-get update

安装:

代码语言:javascript
复制
sudo apt-get install mosquitto -y

安装命令行客户端:

代码语言:javascript
复制
sudo apt-get install mosquitto-clients -y

默认情况下,Ubuntu将在安装后启动Mosquitto服务。

在新终端中,使用mosquitto_sub订阅测试主题:

代码语言:javascript
复制
mosquitto_sub -h localhost -t test

新开一个其他终端并发布消息:

代码语言:javascript
复制
mosquitto_pub -h localhost -t test -m "hello world"

启动服务端

代码语言:javascript
复制
#-c:指定特定配置文件启动
#-d:后台运行 
mosquitto -c /etc/mosquitto/mosquitto.conf -d

异常情况

如果遇到Unable to acquire the dpkg frontend lock这个问题

首先检查是否在运行apt,apt-get相关的进程:

代码语言:javascript
复制
ps aux | grep -i apt

如果存在与apt相关的正在运行的进程,kill掉进程:

代码语言:javascript
复制
sudo kill -9 <process id>

继续上一次的配置:

代码语言:javascript
复制
sudo dpkg --configure -a

或者直接简单粗暴的:

代码语言:javascript
复制
sudo killall apt apt-get 

之后可以新的apt操作

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-11-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • web环境
    • 第1步:安装Apache
      • 第2步:安装MySQL(Ubuntu)
        • 第2步:安装MySQL(Raspbian)
          • 第3步:安装PHP
            • 第4步:重新启动apache以使所有更改生效
              • 第5步:安装phpmyadmin
              • 网站部署
                • 放置页面
                  • 测试是否能上传图片成功
                  • MQTT环境
                    • Mosquitto安装
                      • 启动服务端
                      • 异常情况
                      相关产品与服务
                      云数据库 SQL Server
                      腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档