微信小程序商城,关于基于云服务器的接口文件配置还有数据库配置
这个周闲暇时间做了一个微信小程序商城,具体的代码会打包放我的git仓库,主要实现的前端页面有:登录界面,商品界面,商品详情界面,购物车购买界面,个人信息界面,订单界面。然后在本地用mysql建立了一个数据库,MySQL建表语句我也会放git里面,同时用python写了接口,当然偷了懒,因为一开始没打算建数据库,想写死数据,所以在python里面建立了字典,把商品数据一股脑就放进去了,后来发现可能还是数据库好用。而且之前系统学习了一下数据库的原因对于一些常见的数据库,ER图啥啥啥基础知识也复习了一下。这次也算巩固。
在本地能够成功运行之后,我想在云服务器上一直运行,这样的话,我就不用每次都在本地运行一个接口,还打开mysql数据库。之前有两个web端项目也架设过,但老实说,很多命令虽然有存,但是并无法现在拿起来看,立马回忆起来,所以我便开始写这篇博客,记录一下,linux端的一些架设,也当记录一下小白学习之路。
我直接重置了我的云服务器,我用的是腾讯云,前面配置了neo4j,其实也还好,后面也能再弄。所以基本上是从零开始,系统是centos7。
配置mysql
根据我的项目,我的思路是首先要安装mysql,其次安装python(为了运行我的接口文件),安装mysql,过程不是很愉快,因为我重置之前,系统是默认python2,我的yum是基于python2,但是当时好像yum一直有问题,头有点昏,就想着绕过yum,在mysql官网下载文件,上传云服务器解压了直接用,但是直接上传,腾讯云服务器有大小限制,根本上传不了,然后我就用7zip分包,分包tar.gz文件,分了之后再上传,在云服务器里面在合并。但是合并完的文件并不能使用。卒。
所以我重装了之后,yum能正常使用了,我采用的是这位大哥的博客。https://blog.csdn.net/njq774327136/article/details/128176148
1、安装mysql源
sudo wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
2、安装mysql源
sudo wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
3、安装下载好的rpm包
sudo rpm -ivh mysql80-community-release-el7-1.noarch.rpm
4、安装MySQL,发现提示 y到底
sudo yum install mysql-server
这篇博客有提到这个错误:【获取 GPG 密钥失败: [Errno 14] curl#37 - "Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022"】原因是: GPG对于包的源key的验证没有通过
处理办法: # 在yum install 版本后面加上 --nogpgcheck,即可绕过GPG验证成功安装 yum install mysql-community-server --nogpgcheck
我没有遇到,这一步完成之后:mysql -V,就可以检查是不是安装ok了。
应该是下面这样:
[root@VM_0_15_centos ~]# mysql -V mysql Ver 8.0.20 for Linux on x86_64 (MySQL Community Server - GPL)
5、运行mysql
service mysqld start
6、取得MySQL初始化的随机密码
grep "password" /var/log/mysqld.log
7、登录mysql
mysql -uroot -p'这里放你的随机密码',也可以mysql -uroot -p直接输入密码
8、更改密码:(临时密码登录之后会强制提示改密码) 如遇mysql修改密码报错:Your password does not satisfy the current policy requirements 对于mysql8需要大小写字母加数字和特殊符号来设置密码如C1/.pyfGjQPh alter user root@localhost identified by 'NC1/.pyfGjQPh' 设置密码永不过期 alter user 'root'@'localhost' password expire never; 刷新一下权限 flush privileges; 然后 exit
这些全是那个博客里面的。
9、设置远程访问mysql
首先需要在腾讯云服务器设置防火墙,然后在mysql里面,如果我们设置了防火墙并且MySQL服务已经启动,但仍然无法从本地机器访问MySQL服务,那很有可能,因为MySQL服务默认只接受来自localhost的连接。要让MySQL接受来自所有IP地址的连接,我们需要更改MySQL的配置。
9-1、编辑MySQL配置文件
sudo nano /etc/my.cnf
9-2、在 [mysqld] 部分下添加以下行:
bind-address = 0.0.0.0
9-3、保存并关闭编辑器。
Ctrl+X,然后Y。
9-4、重启MySQL服务:
sudo systemctl restart mysqld
9-5、还需要确保你的MySQL用户有权限从任何主机访问。可以登录到MySQL,然后运行以下命令来给予用户(这里假设是root用户)这个权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
当然有可能报错,因为有的要密码,可以用这个命令:
CREATE USER 'root'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
这个命令会创建一个新的'root'用户,这个用户可以从任何主机连接,并且拥有所有数据库和表的所有权限。我们应该用想要的密码替换'password'。
当然,这个并不安全。我们可以考虑如为远程用户创建单独的账户,以及仅开放必要的权限。但是我这个倒是没这个必要。此刻mysql就算配置好了。
我们要往里面操作的时候,可以用这些语句:
1)登录到MySQL:mysql -u root -p
2)创建新数据库:CREATE DATABASE newdatabase;
创建一个名为newdatabase的数据库
3)切换到新创建的数据库:
USE newdatabase;
4)运行sql文件:
source /home/user/mydata.sql;
5)启动MySQL服务
sudo systemctl start mysqld
6)MySQL在系统启动时自动启动
sudo systemctl enable mysqld
7)启动服务后,使用以下命令查看MySQL的状态
sudo systemctl status mysqld
需要将/home/user/mydata.sql替换为你的SQL文件的真实路径。运行这个命令后,SQL文件中的命令将在当前数据库中执行。
8)通过以下命令来查看 MySQL 服务器上的所有数据库
mysql -u root -p -e "SHOW DATABASES;"
安装python环境
安装一个python相对简单,但是我深知,一开始就安装python的管理器,可能后续切换我的linux里面的python版本方便些,所以我打算安装pyenv或者Anaconda:
我安装的是Anaconda。
参考的是这个博客:
CentOS 7安装Anaconda3_do you wish the installer to initialize anaconda3 _待秃头肥宅的博客-CSDN博客
将执行脚本获取到本地:
wget https://repo.anaconda.com/archive/Anaconda3-5.3.1-Linux-x86_64.sh
然后输入:bash Anaconda3-5.3.1-Linux-x86_64.sh,进行Anaconda的安装。上面的文章写的很全面,但是在这一步:
这一步我好像选了no,所以有点问题,需要配置路径,
问题也就是:在Linux上安装Anaconda的时候忘记让安装程序在/root/.bashrc文件中初始化Anaconda3
需要手动编辑/root/.bashrc文件,将以下行添加到文件的末尾
sudo nano /root/.bashrc
在文件的末尾,添加以下行:
source /root/anaconda3/etc/profile.d/conda.sh
保存并关闭,按 Ctrl+X,然后按 Y,最后按 Enter。
让更改立即生效:source /root/.bashrc
最后通过运行 conda info 命令来测试是否成功
写一下关于annaconda建环境的命令:
conda create -n envname python=3.8(建立一个Python 3.8的环境)envname 是新环境取的名字。
conda env list(列出你的所有 Conda 环境)
conda info --envs(列出你的所有 Conda 环境)
conda activate envname (激活环境)
激活了就可以安装库,pip install flask flask_cors pymysql
运行python文件: python python_file.py(python_file.py是文件名)
使用nohup命令:在你运行Python脚本的命令前添加 nohup 和在后面添加 & 可以让脚本在后台持续运行,即使你关闭了SSH连接。例如:
nohup python python_file.py &
当运行 nohup 命令并在后台启动一个进程时,如果在命令行输入 ^C (Ctrl+C),那么这个后台进程将会被终止。如果想让这个进程在后台持续运行,应该在启动进程后立即输入 exit 命令或者直接关闭终端或SSH连接
用 ps 命令来查看当前运行的进程
ps -ef (列出系统上所有的进程)
过滤出特定的进程,可以使用 grep 命令
ps -ef | grep python(列出系统上所有的python进程)
nohup python jiekou3.py(也就是没有以 & 结尾)那么不会在后台运行,而是在前台运行,因此你需要按 Ctrl+C 来停止它
此外还可以,使用screen或tmux:这两个工具可以在服务器上创建多个独立的会话,这样你就可以在一个会话中运行你的脚本,然后安全地关闭SSH连接,而你的脚本会在该会话中持续运行。
或者:使用系统服务:如果你的Python脚本是一个需要长期运行的服务,你可能需要将它设置为一个系统服务。这样,它就会在系统启动时自动运行,并且可以被系统的服务管理工具管理。这通常需要创建一个systemd service文件。
这后面这两我还没有用过,下次试一试。
然后python接口可以写:app.run(host='0.0.0.0')
因为默认情况下 Flask 只允许来自本机的请求,而 0.0.0.0 允许来自任何外部的请求。
(因为 Flask 自带的服务器主要是用于开发和测试,可能无法处理大量的并发请求。在生产环境中运行Flask 应用,可能需要使用一个生产级的 WSGI 服务器,如 Gunicorn 或 uWSGI,以及一个 web 服务器,如 Nginx 或 Apache,来托管应用。)
cat nohup.out 可以看脚本打印的东西
然后再在文章最后写一下linux我觉得有用的命令:
sudo su之后,按 Enter 键,将把用户切换到 root 用户。可能需要输入当前用户的密码。
passwd,按 Enter 键,提示输入新的 root 用户密码。
微信小程序商城,关于基于云服务器的接口文件配置还有数据库配置相关推荐
- 通过新浪云部署NideShop微信小程序商城(基于Node.js+MySQL+ThinkJS)
本文档为微信小程序商城NideShop项目的安装部署教程(GitHub),欢迎star 一.购买新浪云SAE 为什么选择SAE? 免费二级域名和支持https访问,不用备案,可用于做微信小程序服务器. ...
- 新浪云node加mysql_通过新浪云部署NideShop微信小程序商城(基于Node.js+MySQL+ThinkJS)...
一.购买新浪云SAE为什么选择SAE? 免费二级域名和支持https访问,不用备案,可用于做微信小程序服务器. 选择对应的部署环境 自定义 -> 开发言语:自定义 -> 运行环境:云容器 ...
- Javaweb和微信小程序项目部署阿里云服务器总结(上)
谈到微信小程序的java后台怎么部署在阿里云服务器上的问题,弯弯绕绕,好多坑,网上的博客资料也特别乱,博主也是在没有任何经验和指导下花了几天的工夫才完成的.这里为了方便大家不踩坑,总结了下整个流程和注 ...
- css计算函数 scalc 微信小程序_在微信小程序中,基于云函数发送邮件
引言:基于第三方Nodemailer可以实现使用云函数来发送邮件.在开发过程中使用发送邮件,一般使用场景是用来用户注册账号,更改密码等其它验证. 1.开发准备 1.1邮箱 已注册成功的QQ邮箱.网易邮 ...
- 雪狐微信小程序商城部署教程(本地+云服务器)
课程链接:http://www.studyfox.cn/262.html 微信小程序项目实战第二季小程序商城 http://www.studyfox.cn/258.html 微信小程序项目实战第三季小 ...
- 牛逼的uniapp+Java微信小程序商城来了
牛逼的uniapp+Java微信小程序商城来了 减少重复造轮子,开源微信小程序商城(前后端开源:uniapp+Java),秒杀.优惠券.多商户.直播卖货.分销等功能.快速搭建一个属于自己的微信小程序商 ...
- 视频教程-雪狐CentOS7云服务器部署微信小程序商城系统(宝塔面板)-微信开发
雪狐CentOS7云服务器部署微信小程序商城系统(宝塔面板) 1.多年开发和授课经验. 2.精通PHP.前端.Android.iOS等开发技术. 3.希望能将自己所学教给学生. 刘安良 ¥12.00 ...
- 微信小程序商城服务器搭建,基于微信小程序商城毕业设计(小程序客户端+服务端Node.js源码)毕业论文+运行说明...
微信小程序商城毕业设计(微信小程序客户端毕业设计) 摘 要 购物商城系统是保证以购物商城为基础的网上交易实现的体系.市场交易是由参与交易双方在平等.自由.互利的基础上进行的基于价值的交换.网上交易同 ...
- 通过新浪云部署Node.js微信小程序商城(不用买域名、不用备案、不用配置https)
生产环境推荐使用阿里云服务器,阿里云代金券领取 最近更新时间:2019-03-09 原文链接:https://nideshop.com/documents/nideshop-manual/deploy ...
最新文章
- git checkout -b mybranch和git checkout mybranch
- 测试无数据_无数据驱动自动化测试
- 打开VMware的系统出错
- sodu 命令场景分析
- iis php报错无法屏蔽,php屏蔽错误消息
- Nature | 基于单细胞RNA测序绘制人类肺组织分子细胞图谱,成功鉴定多种未知细胞类型...
- mysql error trace_防止DedeCMS错误警告日志data/mysql_error_trace.inc暴露后台管
- 转 国内的go get问题的解决
- Ubuntu下远程访问MySQL数据库
- windows 驱动实现进程枚举
- 服务器snb芯片组,认识6系列主板芯片组
- linux 下安装小度wifi,Fedora/Ubuntu如何安装小度/360随身WIFI驱动
- SPR EAD NET 6
- NYOJ 33 蛇形填数
- 示例填充图片_填充内容:工具,技巧和动态示例
- 开源GPU显存虚拟化项目,你的2080Ti还能救一下
- Excel文件 实用操作小技巧
- 如何开发自己的通用Mapper
- 【时空序列预测第二篇】Convolutional LSTM Network: A Machine Learning Approach for Precipitation Nowcasting
- 码住收藏 ▏软件测试报告应该包含哪些内容?