Linux安装一些简单中间件(自用)

Linux(Ubuntu)指令

文件操作

tar -zxvf + XXX:解压缩

cp + XXX:拷贝

cp -r + XXX:递归拷贝

cp -i + XXX:拷贝后确认操作(y/n)

ls:展示全部目录路径

pwd:查看本路径

vi + XXX:打开文件

vim + XXX:用编辑器打开文件【不确定】

  • :w 保存文件但不退出vi
  • :w file 将修改另外保存到file中,不退出vi
  • :w! 强制保存,不推出vi
  • :wq 保存文件并退出vi
  • :wq! 强制保存文件,并退出vi
  • :q 不保存文件,退出vi
  • :q! 不保存文件,强制退出vi
  • :e! 放弃所有修改,从上次保存文件开始再编辑

mkdir + XXX:创建路径

rm + XXX:删除路径/文件

  • sudo ufw status:查看防火墙状态
  • sudo ufw allow 80:开放80端口
  • sudo ufw enable:开启防火墙
  • sudo ufw disable:关闭防火墙
  • sudo ufw reload:重启防火墙

netstat -aptn:查看所有开启的端口

具体基本目录

  1. bin:【常用】Binary缩写,这个目录存放着常用的命令
  2. sbin:Super User的意思,这里存放的是系统管理员的系统管理程序
  3. home:【常用】存放普通用户的主目录,在Linux中每个用户都有个自己的目录
  4. root:【常用】
  5. lib:系统开机所需要的最基本的动态连接共享库,其作用类似于Windows中的DLL文件,几乎所有的系统程序都需要用到这些共享库
  6. lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
  7. ETC:【常用】所有的系统管理所需要的配置文件和子目录,比如安装mysql数据库的my.conf
  8. user:【常用】这是一个非常重要的目录,用户的很多应用程序和文件都存放在这个目录下,类似于windows下的program files目录
  9. boot:【常用】存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件
  10. proc:【不能动】这个目录是一个虚拟的目录,他是系统内存的映射,访问这个目录来获取系统信息
  11. srv:【不能动】service的缩写,该目录存放一些启动之后需要提取的数据
  12. sys:【不能动】这是linux2.6内核的一个很大的变化,该目录安装了2.6内核中新出现的一个系统sysfs=》
  13. tmp:这个目录是用来存放一些临时文件的
  14. dev:类似于windows的设备管理器,把所有的硬件用文件的形式存储
  15. media:【常用】linux系统会自动识别一些设备,例如U盘、光驱等等,linux会把识别的设备挂载到这个目录下
  16. mnt:【常用】系统提供该目录是为了让用户临时挂在别的文件系统的,我们可以将外部的村相互挂在到mnt上然后进行该目录就可以查看里面的内容了
  17. opt:这是给主机额外安装软件所存放的目录。如安装ORACLE数据可以就可以放到该目录下默认为空
  18. user/local:【常用】这是另一个给主机额外安装软件所安装的目录,一般是通过编译源码方方式安装的程序
  19. var:【常用】这个目录存放着不断不断扩充的东西,习惯将经常被修改的目录存放在这个目录下,包括各种日志文件
  20. selinux[security-enhanced linux]:SELinux是一种安全子系统,它能控制程序只能访问特定的文件,有三种工作模式,可以自行设置
问题

可以Ping通,但无法连接实例

需要在实例中添加IP白名单

  • 鼠标放在右上角头像上面
  • 点击安全管控
  • IP白名单
  • 添加实例名称和ip
  • 添加过白名单ip:0.0.0.0

通过发送远程指令开启防火墙ssh端口:22端口(远程连接最后的)

sudo ufw allow ssh

安装Zookeepre步骤

Zookeeper下载链接(Linux)

wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz

解压

tar -zxvf zookeeper-3.4.9.tar.gz

配置conf文件

进入到安装目录的…/conf目录下

可以看到这里有个zoookeeper给我们的一个样例配置文件:zoo_sample.cfg,我们在配置我们自己的zk时,需要做的就是将这个文件复制一份,并命名为:zoo.cfg,然后在zoo.cfg中修改自己的配置即可。

cp zoo_sample.cfg zoo.cfg
vim zoo.cfg

zoo.cfg的相关配置项其实并不多,这边各个配置项的详细说明如下:

# zookeeper内部的基本单位,单位是毫秒,这个表示一个tickTime为2000毫秒,在zookeeper的其他配置中,都是基于tickTime来做换算的
tickTime=2000

#集群中的follower服务器(F)与leader服务器(L)之间 初始连接 时能容忍的最多心跳数(tickTime的数量)。
initLimit=10

#syncLimit:集群中的follower服务器(F)与leader服务器(L)之间 请求和应答 之间能容忍的最多心跳数(tickTime的数量)
syncLimit=5

# 数据存放文件夹,zookeeper运行过程中有两个数据需要存储,一个是快照数据(持久化数据)另一个是事务日志
dataDir=/tmp/zookeeper

# 客户端访问端口
clientPort=2181

配置环境变量

cd /etc/profile(用vi打开profile文件)

export ZOOKEEPER_HOME=/opt/zookeeper/zookeeper-3.4.9
export PATH=$ZOOKEEPER_HOME/bin:$PATH
export PATH

然后 source profile使配置生效

source profile /etc/profile

启动服务

zkServer.sh start

可以看到我们的zkServer以及启动好了。
可以查看下启动状态:

zkServer.sh status

使用

启动Clint端

zlCli.sh
root@tianlang:/usr/local/src/zookeeper/zookeeper-3.4.9/conf# zkCli.sh
Connecting to localhost:2181
2022-07-04 20:35:16,806 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.9-1757313, built on 08/23/2016 06:50 GMT
2022-07-04 20:35:16,809 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=iZuf6jcef3xvh1ddvymxepZ
2022-07-04 20:35:16,810 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.8.0_312
2022-07-04 20:35:16,813 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Private Build
2022-07-04 20:35:16,813 [myid:] - INFO  [main:Environment@100] - Client environment:java.home=/usr/lib/jvm/java-8-openjdk-amd64/jre
2022-07-04 20:35:16,813 [myid:] - INFO  [main:Environment@100] - Client environment:java.class.path=/usr/local/src/zookeeper/zookeeper-3.4.9/bin/../build/classes:/usr/local/src/zookeeper/zookeeper-3.4.9/bin/../build/lib/*.jar:/usr/local/src/zookeeper/zookeeper-3.4.9/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/src/zookeeper/zookeeper-3.4.9/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/src/zookeeper/zookeeper-3.4.9/bin/../lib/netty-3.10.5.Final.jar:/usr/local/src/zookeeper/zookeeper-3.4.9/bin/../lib/log4j-1.2.16.jar:/usr/local/src/zookeeper/zookeeper-3.4.9/bin/../lib/jline-0.9.94.jar:/usr/local/src/zookeeper/zookeeper-3.4.9/bin/../zookeeper-3.4.9.jar:/usr/local/src/zookeeper/zookeeper-3.4.9/bin/../src/java/lib/*.jar:/usr/local/src/zookeeper/zookeeper-3.4.9/bin/../conf:
2022-07-04 20:35:16,813 [myid:] - INFO  [main:Environment@100] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib
2022-07-04 20:35:16,813 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir=/tmp
2022-07-04 20:35:16,814 [myid:] - INFO  [main:Environment@100] - Client environment:java.compiler=<NA>
2022-07-04 20:35:16,814 [myid:] - INFO  [main:Environment@100] - Client environment:os.name=Linux
2022-07-04 20:35:16,814 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=amd64
2022-07-04 20:35:16,814 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=5.4.0-113-generic
2022-07-04 20:35:16,814 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=root
2022-07-04 20:35:16,814 [myid:] - INFO  [main:Environment@100] - Client environment:user.home=/root
2022-07-04 20:35:16,814 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=/usr/local/src/zookeeper/zookeeper-3.4.9/conf
2022-07-04 20:35:16,816 [myid:] - INFO  [main:ZooKeeper@438] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@277050dc
Welcome to ZooKeeper!
2022-07-04 20:35:16,859 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
JLine support is enabled
2022-07-04 20:35:16,970 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@876] - Socket connection established to localhost/127.0.0.1:2181, initiating session
2022-07-04 20:35:16,982 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x181c92564ba0003, negotiated timeout = 30000

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0]

展示列表

ls /
ls /zookeeper

查看服务

get /zookeeper

查看服务中心的服务

ls /services

通过ls /services/cloud-provider-payment获取到的名称,获得流水号,然后get /流水号会生成json串,可以看到详细的注册信息。

ls /services/cloud-order-service
ls /services/cloud-order-service/b306bf36-e1c3-4f95-bc90-0076fac7ec17
get /services/cloud-order-service/b306bf36-e1c3-4f95-bc90-0076fac7ec17
[zk: localhost:2181(CONNECTED) 8] get /services/cloud-order-service/b306bf36-e1c3-4f95-bc90-0076fac7ec17
{"name":"cloud-order-service","id":"b306bf36-e1c3-4f95-bc90-0076fac7ec17","address":"DESKTOP-A25TVU0","port":9001,"sslPort":null,"payload":{"@class":"org.springframework.cloud.zookeeper.discovery.ZookeeperInstance","id":"application-1","name":"cloud-order-service","metadata":{}},"registrationTimeUTC":1656939881430,"serviceType":"DYNAMIC","uriSpec":{"parts":[{"value":"scheme","variable":true},{"value":"://","variable":false},{"value":"address","variable":true},{"value":":","variable":false},{"value":"port","variable":true}]}}
cZxid = 0x18
ctime = Mon Jul 04 21:04:43 CST 2022
mZxid = 0x18
mtime = Mon Jul 04 21:04:43 CST 2022
pZxid = 0x18
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x181c92564ba0006
dataLength = 530
numChildren = 0
[zk: localhost:2181(CONNECTED) 9] root@tianlang:/usr/local/src/zookeeper/zookeeper-3.4.9/conf# 

问题

依赖冲突

服务器版本3.4.9,依赖版本3.5.3-beta。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VIvo8oJK-1659520813912)(F:\resources\Markdown\static\image-20220704204357796.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G8plE1mm-1659520813920)(F:\resources\Markdown\static\image-20220704204341024.png)]

解决方法:

添加排除依赖(替换掉现有的spring-cloud-starter-zookeeper-discovery)

<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.zookeeper</groupId>
                    <artifactId>zookeeper</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

然后添加3.4.9依赖(和服务器相同)

添加依赖同时zookeeper也引入了sl4j的依赖,会形成sl4j依赖冲突,这时候需要把sl4j和log4j排除掉

<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <exclusions>
        <exclusion>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
        </exclusion>
        <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
    </exclusions>
    <version>3.4.9</version>
</dependency>

安装JDK

更新软件包列表

sudo apt-get update

安装openjdk-8-jdk

sudo apt-get install openjdk-14-jdk

配置环境变量, 编辑如下文件

vim ~/.bashrc

在最后一行加

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

查看java版本,看看是否安装成功

java -version
javac -version

安装MySQL

验证

sudo apt-get update  #更新源
sudo apt-get install mysql-server #安装

安装完成后,可以通过下面的命令来查看时候安装成功

systemctl status mysql

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uEspqRXO-1659520813920)(F:\resources\Markdown\static\image-20220702213455925.png)]

登录

sudo mysql -u root -p  #不需要密码

修改密码然后刷新权限

alter user "root"@"localhost" identified by "password";
flush privileges;

如果不出意外的话再次登录会出现不输入密码也能登录的问题(MySQL版本8.0.29),那就执行一下sql

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;   //#修改加密规则
2、ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';  // #更新一下用户的密码 


还有一个问题。
当要更新密码的时候mysql -u root -p
报错 ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061) 可以是没有启动服务
net start mysql  需要启动一下服务 之后 在mysql -u root -p输入这个命令

然后重新进入MySQL就可以了


安装Nginx

验证安装

sudo apt-get update  #更新源
sudo apt-get install mysql-server #安装

查看nginx是否安装成功

nginx -v

启动nginx

service nginx start

记得在阿里云实例上开放端口,添加

启动后,在网页重输入ip地址,即可看到nginx的欢迎页面。至此nginx安装成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CFSfzTOR-1659520813921)(F:\resources\Markdown\static\image-20220703030311804.png)]

nginx文件安装完成后的文件位置:

  • /usr/sbin/nginx:主程序
  • /etc/nginx:存放配置文件
  • /usr/share/nginx:存放静态文件
  • /var/log/nginx:存放日志

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值