微信小程序商城,关于基于云服务器的接口文件配置还有数据库配置

这个周闲暇时间做了一个微信小程序商城,具体的代码会打包放我的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 用户密码。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值