阿里云服务器部署前后端分离项目

news2024/9/28 9:20:17

阿里云服务器部署 【若依】 前后端分离项目


文章目录

    • 一、域名解析
    • 二、服务器操作系统置空
    • 三、部署方式
    • 四、需安装环境配置
    • 五、Linux服务器安装相应内容(具体安装步骤)
      • (一)安装JDK(3种方式)
        • 使用Yum安装(推荐)
        • 使用rpm包安装
        • 使用JDK压缩包(相对复杂,容易出错)
      • (二)安装Maven
        • 安装(推荐方式)
        • 解压Maven
        • 添加一对localRepository,用来添加本地仓库路径;
        • 切换镜像源
        • 配置环境变量
      • (三)安装Mysql
        • 安装
        • 安装5个rpm,有安装顺序,依赖嵌套
        • 修改密码
        • 为防火墙添加开放端口
        • 更改mysql语言
      • (四)安装Nginx
        • 安装前环境检测
        • 下载nginx
        • 安装nginx
        • 配置防火墙
        • 配置开机自启动
      • (五)安装Redis
        • 环境确认
        • 下载redis
        • 解压redis
        • 安装redis
        • 启动redis
          • 1、直接启动
          • 2、指定redis.conf文件启动
        • 查看Redis是否正在运行
        • 设置开机自启动
        • redis-cli
        • 操作命令总结
    • 六、启动后端
      • 首次启动
      • 重启后端
        • 方式一:(传统方式)
        • 方式二:(如果会的话,建议此方式)
    • 七、可能出现的问题
      • 防火墙问题
      • Nginx问题

一、域名解析

  • 详情参考:阿里云官网

二、服务器操作系统置空

  • 此处选择的是CentOS 7.5 + 版本
  • 详情参考阿里云官网

三、部署方式

  • 使用Redis + Nginx

四、需安装环境配置

  • JDK1.8+
  • Maven3.6+
  • Mysql(5.5.62+)
  • Nginx(1.19.8)
  • Redis(6.2.1)
  • Tomcat

五、Linux服务器安装相应内容(具体安装步骤)

(一)安装JDK(3种方式)

使用Yum安装(推荐)

# 查看是否有JDK环境
java -version
    
# 卸载现有环境
# (如果java -version出现-bash: /usr/local/java: No such file or directory可以省略此步骤)
rpm -qa | grep java
# .noarch文件可以不用管,卸载下面四个
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.261-2.6.22.2.el7_8.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.261-2.6.22.2.el7_8.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.322.b06-1.el7_9.x86_64
    
# 这里以openjdk8为例
yum install java-1.8.0-openjdk
#不想确认的带上 -y
yum install -y java-1.8.0-openjdk

# 安装完之后重新检查一下环境

使用rpm包安装

  • Oracle JDK所有版本下载
  • OracleJDK8下载
  • Oracle官方站点下载需要登录【百度一个】
    在这里插入图片描述

将下载的rpm包上传到服务器上

# rpm包的安装命令
rpm -ivh 包全名
选项:
    -i(install)    安装
    -v(verbose)    显示详细信息
    -h(hash)       显示进度
    --nodeps       不检测依赖性

# 执行下面的命令安装 (jdk-8u311-linux-x64.rpm替换成你当前要安装的文件名)
rpm -ivh jdk-8u311-linux-x64.rpm
# 安装完检查环境配置
java -version

使用JDK压缩包(相对复杂,容易出错)

  • 清华大学镜像源,好多内容可以从这里面下载,自行查看
# 这里使用wget命令下载
wget -c https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/8/jdk/x64/linux/OpenJDK8U-jdk_x64_linux_hotspot_8u322b06.tar.gz

下载Oralce JDK(方式2 中有下载地址)

# 解压gz压缩包  jdk-8u311-linux-x64.tar.gz替换为你当前实际的文件名
tar -zxvf jdk-8u311-linux-x64.tar.gz

# 创建文件夹 (你可以自己定义)
mkdir -p /usr/local/java/jdk1.8.0_311

# 复制jdk到上一步创建的文件夹
cp -r ./jdk1.8.0_311/ /usr/local/java/


配置环境变量

# 编辑全局变量文件
vim /etc/profile

# 将下载的gz压缩包上传到服务器并解压
(PS:JAVA_HOME的 “/usr/local/java/jdk1.8.0_311” 为上一步创建的目录,使用你当时创建的目录名。)
    
export JAVA_HOME=/usr/local/java/jdk1.8.0_311
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
    
# 配置完之后保存退出,重启一下文件
source /etc/profile

(二)安装Maven

安装(推荐方式)

wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz

解压Maven

tar -zxvf apache-maven-3.6.3-bin.tar.gz

添加一对localRepository,用来添加本地仓库路径;

<localRepository>/soft/maven/repo</localRepository>

切换镜像源

# 修改settings.xml文件(匹配你自己的路径)
vi /soft/apache-maven-3.6.3/conf/settings.xml 

# 找到【mirrors】标签对,【添加】一下代码
<mirror>       <!--阿里云仓库-->
     <id>alimaven</id>
     <mirrorOf>central</mirrorOf>
     <name>aliyun maven</name>
     <url>https://maven.aliyun.com/repository/central</url>
</mirror>
<mirror>    <!--maven国内镜像-->
    <id>nexus-aliyun</id>
    <mirrorOf>*</mirrorOf>
    <name>Nexus aliyun</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

配置环境变量

vi /etc/profile

#你的maven路径
MAVEN_HOME=/usr/local/maven/apache-maven-3.6.1
export PATH=${MAVEN_HOME}/bin:${PATH}

# 重启
source /etc/profile

# 查看结果
mvn -version

(三)安装Mysql

安装

Centos7默认安装 mariadb,为防止和MySQL冲突,需要先卸载。

# 查看mariadb版本信息
rpm -qa | grep mariadb
    
# 卸载(mariadb-libs-5.5.65-2.el7.x86_64这一个是根据你查到的版本信息填写,每个系统有差异)
sudo rpm -e mariadb-libs-5.5.65-2.el7.x86_64 --nodeps

在云服务器里下载MySQL安装包有两种方式:

  • wgetcurl
  • 还可以在官网下载然后手动上传**(不建议手动上传)**
# 官网下载地址(下载完上传即可)
https://dev.mysql.com/downloads/mysql/
# 下载完,上传,解压
例:tar -xvf mysql-5.7.40-1.el7.x86_64.rpm-bundle.tar

# wget方式下载
wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.40-1.el7.x86_64.rpm-bundle.tar
# curl方式下载
curl -O https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.40-1.el7.x86_64.rpm-bundle.tar

安装5个rpm,有安装顺序,依赖嵌套

# 3个依赖包
rpm -ivh mysql-community-common-5.7.40-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.40-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.40-1.el7.x86_64.rpm

# 客户端和服务端
rpm -ivh mysql-community-client-5.7.40-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.40-1.el7.x86_64.rpm

# 此步骤一般情况不用管,当前yum仓库没有包含mysql-server相关包时,才需要安装。其实前面步骤只要正确部署,就不存在yum仓库没有包含mysql-server相关包的情况。
(1)查看yum仓库有没有包含mysql-server相关包:
yum whatprovides mysql-server

(2)没有就安装 mysql-server:
yum -y install mysql-server
  1. 在安装第三个的时候如果出现

【libcrypto.so.10()(64bit) 被 mysql-community-libs-8.0.11-1.el7.x86_64 需要】类似的错误,要改变一下命令:

安装的时候最好在root权限下安装,需要在rpm包后面添加 --nodeps --force

  1. 在安装第五个之前要先安装 yum install libaio

修改密码

MySQL刚安装是没有密码的,需要初始化一个临时密码,再去修改。

# 生成临时密码
sudo mysqld --initialize

启动mysql

systemctl start  mysqld.service

查看MySQL运行状态,运行状态如图:

systemctl status mysqld.service

检查一个叫 Active 的参数,如果状态是 loaded,代表启动成功

不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:

切记:一定要把临时密码保存下来

grep "password" /var/log/mysqld.log

如下命令进入数据库:

mysql -uroot -p

输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

其中‘new password’替换成你要设置的密码,注意:密码设置必须要大小写字母数字和特殊符号(,/';:等),不然不能配置成功

执行以下命令开启远程访问限制(注意:下面命令开启的IP是 192.168.1.1,如要开启所有的,用%代替IP):

mysql> grant all privileges on *.* to 'root'@'192.168.1.1' identified by 'password' with grant option;

然后再输入下面两行命令

mysql> flush privileges; 
mysql> exit

为防火墙添加开放端口

# 添加mysql端口3306和Tomcat端口8080
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent

# 重新加载
firewall-cmd --reload

更改mysql语言

mysql -uroot -p
# 登陆之后,输入:
status

mysql
如果是utf8,就代表没问题

如果是latin1,就到 /etc 目录下的my.cnf文件下修改一下文件内容

[client]
default-character-set=utf8

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

保存文件后,重启mysql

service mysqld restart

安装完成

(四)安装Nginx

安装前环境检测

安装之前先检查有没有C++,没有的话安装先安装

安装C++

//安装c++
yum install gcc-c++ -y
//查看版本
gcc -v

安装ssl

yum install -y openssl openssl-devel

安装zlib

yum install -y zlib zlib-devel
//查看信息
cat /usr/lib64/pkgconfig/zlib.pc

安装pcre

yum install -y pcre pcre-devel
//查看版本号
pcre-config --version

下载nginx

nginx下载地址
在这里插入图片描述
下载解压

tar -xvf nginx-1.20.2.tar.gz

安装nginx

# 进入目录
cd nginx-1.20.2
# 执行命令
./configure
# 执行make命令
make
# 执行make install命令
make install

查看目录

cd /usr/local/nginx
ls

启动、关闭、重启nginx

cd /usr/local/nginx/sbin
# 启动    
./nginx
# 关闭
./nginx -s stop
# 重启
./nginx -s reload

配置防火墙

开放nginx所需的80端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

重启防火墙

firewall-cmd --reload

验证端口是否开放成功

firewall-cmd --zone=public --query-port=80/tcp

在浏览器输入你的服务器IP地址,nginx默认端口是80,只需要输入IP地址即可!

在这里插入图片描述

配置开机自启动

即在rc.local增加启动代码就可以了。

vi /etc/rc.local

增加一行 /usr/local/nginx/sbin/nginx

设置执行权限:

chmod 755 rc.local

(五)安装Redis

环境确认

由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装

yum install -y gcc

下载redis

都知道服务器可以使用 wget 命令直接联网下载 但是这个下载路径也很重要 所以一定要自己进入官网复制 网上很多教程都是直接给的一个下载命令,但是那个命令里面的版本不一定还在,所以必须要自己去复制一下这个下载路径,然后输入wget + 复制的下载路径 回车进行下载

wget https://download.redis.io/releases/redis-7.0.8.tar.gz

如果报错提示 Connecting to download.redis.io (download.redis.io)...Permission denied,没有权限,那就需要切换root用户下载

解压redis

下载完后使用解压命令进行解压

tar -zvxf redis-7.0.8.tar.gz

因为 redis一般放在 /usr/local/redis 路径下 所以要使用命令将文件移动过去 这里我的文件在opt下

mv /opt/redis-7.0.8 /usr/local/redis

cd/usr/local目录下可以查看到当前目录已经多了一个 redis 子目录

安装redis

进入到redis目录输入make执行编译命令

cd /usr/local/redis
make
make PREFIX=/usr/local/redis install

启动redis

1、直接启动
cd bin
./redis-server
2、指定redis.conf文件启动

从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录

cp /opt/redis-6.2.5/redis.conf /usr/local/redis/bin/

修改 redis.conf 文件,把 daemonize no 改为 daemonize yes

vi redis.conf

运行

./redis-server redis.conf

查看Redis是否正在运行

ps -ef | grep redis
    或者
ps -aux | grep redis

# 杀掉redis进程
kill 15376

设置开机自启动

/etc目录下新建redis目录

mkdir redis

/usr/local/redis/redis.conf 文件复制一份到 /etc/redis目录下,并命名为6379.conf

cp /usr/local/redis/redis.conf /etc/redis/6379.conf

将redis的启动脚本复制一份放到 /etc/init.d 目录下

cp /usr/local/redis/utils/redis_init_script /etc/init.d/redisd

设置redis开机自启动, 先切换到/etc/init.d目录下, 然后执行自启命令

cd /etc/init.d
# 执行自启命令
chkconfig redisd on

redis-cli

./redis-cli是连接本地redis服务的一个命令,通过该命令后可以既可控制redis的脚本控制台

如果 Redis报错:-bash: redis-cli: command not found

将redis-cli拷贝到bin下,让redis-cli指令可以在任意目录下直接使用

cp /opt/redis-7.0.8/src/redis-cli.c /usr/local/redis/bin

操作命令总结

systemctl start redis.service   #启动redis服务
systemctl stop redis.service   #停止redis服务
systemctl restart redis.service   #重新启动服务
systemctl status redis.service   #查看服务当前状态
systemctl enable redis.service   #设置开机自启动
systemctl disable redis.service   #停止开机自启动

六、启动后端

首次启动

前端
新建一个文件夹web,把项目打包,解压,放到服务器上即可

后端

  1. 在服务器中新建一个文件夹,把jar包传进去
  2. 新建一个文件,存放日志记录 ruoyi_log.out
  3. 新建一个脚本,方便启停项目(此步骤可选,可以不操作)
  4. 启动项目即可;

服务器参考目录

# 启动的是你的jar包名称,
nohup java -jar ruoyi-admin.jar > ruoyi_log.out 2>&1 &

重启后端

方式一:(传统方式)

  1. 过滤端口号 netstat -tnlp | grep :8090或者使用 ps -ef | grep java 查看正在运行的进程号,重启服务的时候直接杀掉。
  2. 然后执行Kill -9 进程号 杀掉进程,重新启动。

方式二:(如果会的话,建议此方式)

使用脚本。

大概设计思路就是在脚本里面执行外层的逻辑,先查询进程号kill,在重新启动

七、可能出现的问题

防火墙问题

通常情况下,CentOS 系统部署完成后,关闭并禁用防火墙。但有些特殊情况需要保持防火墙的启用。

  1. 检查防火墙开启的端口
# 查看开放端口
firewall-cmd --list-ports
  1. 参考命令
# 打开防火墙
systemctl start firewalld

# 启用防火墙
systemctl enable firewalld

# 查看已经开放的端口
firewall-cmd --list-ports

# 开启指定端口
firewall-cmd --zone=public --add-port=[端口号]/[协议] --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent

		--zone=<zone> # 指定 zone
		--add-port=<portid>]/<protocol> # 端口id / 协议
		--permanent # 永久开启,不添加则重启失效

# 关闭指定端口
firewall-cmd --zone=public –remove-port=[端口号]/[协议] --permanent
firewall-cmd --zone=public –remove-port=80/tcp --permanent

# 查看所有 zone ,默认有9个 zone
firewall-cmd --get-default-zones

# 重新加载防火墙 *重新加载过后才能生效
systemctl reload firewalld

# 测试端口是否开放成功
ssh -v -p [端口] [用户名]@[ip]
ssh -v -p 8080 root@47.128.209.xx

Nginx问题

  1. server 配置问题
  2. Vue打包之后路径跳转不到“location /”问题,需要单独指向一个路径
  3. 前后端分离项目,要写两个location,不要影响到业务的跨域

在这里插入图片描述

若依解决登录页面验证码不出现检查思路

① Redis没启动
② 看一下浏览器或者日志,有没有调到接口,没有的话检查一下nginx反向代理,能不能跳转过去,以及防火墙有没有开相应的端口



到此为止

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/349511.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Assignment写作各个部分怎么衔接完美?

Assignment格式很简单&#xff0c;就只有四个部分&#xff0c;按着通用的套路来&#xff0c;发现也没什么难度。不过这4个部分自己需要衔接完美&#xff0c;下面就给大家分享一下写Assignment最简单的方法。 如果没有目录可以放在第一页的开头&#xff0c;用“标题字体”加重显…

互联网大厂Java岗最全八股文面试1100道真题汇总,堪称2023年面试天花板

2023 年的互联网行业竞争越来越严峻&#xff0c;面试也是越来越难&#xff0c;一直以来我都想整理一套完美的面试宝典&#xff0c;奈何难抽出时间&#xff0c;这套 1100道的 Java 面试手册是行业内各大神联合总结出来的&#xff0c;上传到 Git 上目前 star 数达到了 30K 这套互…

POE指数积公式的简单matlab实现

参考现代机器人学 及机器人工程师进阶之路&#xff08;八&#xff09;指数积&#xff08;PoE&#xff09;建立机械臂模型及正运动 1.使用Robotics在matlab中建立一个简单的机械臂&#xff0c;方便验证后面的代码写的对不对 %Robotics 工具箱介绍&#xff1a; https://blog.csd…

【使用secureCRT管理Linux系统】

使用secureCRT管理Linux系统 进入secureCRT快速连接虚拟机 默认是SSH2类型&#xff0c;红线是虚拟机的ip地址&#xff0c;绿线是虚拟机的用户名称 如果之后的页面出现了需要输入用户密码&#xff0c;那就是成功了&#xff0c;如果出现了Connection timed out 可能原因是电脑…

Spring如何整合MyBatis框架?使用XML及java类的配置方式

前言 Spring文章链接: 从头到尾Spring概念&#xff0c;家族&#xff0c;核心技术使用&#xff0c;事务这一篇就够了&#xff01;&#xff01;&#xff01;_千小半的博客-CSDN博客_spring最新技术 mybatis文章链接: MyBatis框架入门(含实例)_mybatis sqlsession创建和关闭_千小…

文华财经期货日内多空金叉波段彩带幅图指标公式,震荡区间决策预警信号指标公式

​期货指标公式不是交易的圣杯&#xff0c;也不是期货亏损后的救命稻草。请理性运用指标公式&#xff0c;独立决策&#xff0c;盈亏自负。 1.在期货交易中&#xff0c;大部分品种&#xff0c;大部分时间都是在走一个趋势行情。即使是形态内的震荡行情&#xff0c;也是在走一个…

redis 实现延迟队列及其他实现延迟队列

1、 前言 1.1、什么是延迟队列&#xff1f; 延时队列相比于普通队列最大的区别就体现在其延时的属性上&#xff0c;普通队列的元素是先进先出&#xff0c;按入队顺序进行处理&#xff0c;而延时队列中的元素在入队时会指定一个延迟时间&#xff0c;表示其希望能够在经过该指定…

虹科新品|HK-Edgility敏捷边缘计算套件

敏捷、经济高效且易于管理大规模IT服务基础设施 业务动态和数字化转型将业务资源和业务用户都推到了传统 IT 边界之外。业务资源和服务被虚拟化并迁移到云端。随着数字工作空间的发展和业务用户需要随时随地访问业务资源&#xff0c;越来越多的业务资源被推向网络边缘。 由于…

研报精选230216

目录 【行业230216东吴证券】环保行业月报&#xff1a;2023M1环卫新能源渗透率大增至11.91%&#xff0c;上海地区渗透率高达77%【行业230216国元证券】国元新食饮&#xff1a;一图君&#xff1a;22年白酒产量&#xff1a;同降6.2%【行业230216浙商证券】农林牧渔点评报告&#…

认识数据库

今天为大家带来数据库的知识 &#x1f680;1.什么是数据库 &#x1f680;2.数据库的分类 &#x1f680;3.数据库的存储 1.首先来聊一聊MySQL数据库的定义 已经学习了数据结构 数据结构是一门研究数据如何存储的学科&#xff0c;当数据是少量的时候&#xff0c;用数据结构…

在vue2使用百度脑图的kityminder-core进行二次开发思维导图,给节点绑定数据后添加新的图标

需求说明&#xff1a;在给某个节点绑定文件数据后&#xff0c;用户并不能一眼看出哪个节点上绑定了数据&#xff0c;因此需要在绑定文件数据后给节点上加一个图标用于标识。 添加图标 1、在kityminder-core/src/module/file.js文件中添加代码 &#xff08;file.js文件如何添加…

ChatGPT国内镜像站初体验:聊天、Python代码生成等

ChatGPT国内镜像站试用&#xff0c;聊天、Python代码生成。 (本文获得CSDN质量评分【92】)【学习的细节是欢悦的历程】Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经”教程《 python 完全自学教程》&#xff0c;不仅仅是基础那么简单…… …

基于离散时间频率增益传感器的P级至M级PMU模型的实现(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5;&#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密…

[足式机器人]Part3机构运动微分几何学分析与综合Ch01-4 平面运动微分几何学——【读书笔记】

本文仅供学习使用 本文参考&#xff1a; 《机构运动微分几何学分析与综合》-王德伦、汪伟 《微分几何》吴大任 Ch01-4 平面运动微分几何学1.2.3-2 点轨迹的Euler-Savary公式1.2.4 高阶曲率理论1.2.3-2 点轨迹的Euler-Savary公式 例1-7&#xff1a; 平面曲柄摇杆机构的 Euler-Sa…

VS中scanf为什么会报错

简单来讲&#xff0c;scanf会强行输入内容&#xff0c;所以是不安全的。 我们来看这样的例子&#xff1a; #include <iostream> using namespace std;int main() {char demo[3];scanf("%s", demo);return 0; }对于以上代码&#xff0c;当我们输入字符不超过3时…

联合身份验证与Cognito

Hello大家好&#xff0c;我们接下来讨论AWS联合身份验证的内容。 AWS联合身份验证 对于考试&#xff0c;联合身份验证部分是一块非常重要的内容。那什么是联合身份验证&#xff0c;它是做什么用的呢&#xff1f; 联合身份验证&#xff0c;是用来允许AWS外部用户&#xff0c;如…

vue2中使用 Tinymce 5.1.0使用过程举例

一、背景 vue-cli 版本 &#xff1a;vue/cli 4.5.15 查看脚手架版本的方法&#xff1a;Win R 打开运行输入&#xff1a; cmd &#xff0c;打开控制台输入 vue -V vue 版本&#xff1a;"vue": "^2.6.11", 二、安装 Tinymce 1、 --no-fund 是因为提示你…

C语言(表达式,语句和副作用和序列号)

目录 一.表达式 二.语句 三.副作用和序列点 一.表达式 由运算符和运算对象组合。最简单得表达式是一个单独的运算对象&#xff0c;以次为基础可以建立复杂的表达式 4 421 a*&#xff08;b c/d)/20 运算对象可以是常量&#xff0c;变量或二者得组合。一些表达式由子表达…

python--石头剪刀布游戏(列表)

本使用了下面几篇文章的知识&#xff1a; python(8)--列表初阶使用_码银的博客-CSDN博客 python(7)--if语句_码银的博客-CSDN博客 一、学习目标 利用列表实现石头剪刀布游戏 二、实验环境 Pycharm社区版、win11 三、代码 先贴代码&#xff0c;有需要的直接拿&#xff0c;想要进…

Hive提升篇-Hive修改事务

简介 Hive 默认是不允许数据更新操作的&#xff0c;毕竟它不擅长&#xff0c;即使在0.14版本后&#xff0c;做一些额外的配置便可开启Hive数据更新操作。而在海量数据场景下做update、delete之类的行级数据操作时&#xff0c;效率并不如意。 简单使用 修改HIVE_HOME/conf/hi…