瑞吉实战3-linux实验
瑞吉实战3–linux实验
实验内容
实战所需资料、工具、代码均存放于个人百度网盘中
实验1、linux环境搭建。
安装介质:
- centos7,可以到官网下载,或瑞吉提供的材料,均存放于个人百度网盘,搜索【瑞吉】
- vmworkstation,瑞吉提供,网上搜索的破解,个人习惯使用服务器的esxi环境,这里略
- finalssh,免费,一站式服务,除了shell还有xftp、性能监控,不过占用资源多,易卡顿。
- 商业方案可选择破解的secureCRT或免费的putty
安装后的操作:
- 修改主机名、网络
# 修改主机名
hostnamectl set-hostname xxx
bash
# 修改网卡地址
ip addr #查看当前网卡和地址
vi /etc/sysconfig/network-scripts/ifcfg-ensxxx
# 补充网卡配置主要信息
BOOTPROTO="static" # 使用静态IP地址,默认为dhcp
IPADDR="192.168.138.100" # 设置的静态IP地址
NETMASK="255.255.255.0" # 子网掩码
GATEWAY="192.168.138.2" # 网关地址
DNS1="192.168.138.2" # DNS服务器
ONBOOT="yes" #是否开机启用
实验2、常用linux命令及技巧
常见命令:
- ls、pwd、cd、touch、mkdir、rm
技巧:巧用tab、上下键翻找
特殊指令 | 说明 |
---|---|
cd ~ | 回到用户家目录 |
cat -n xxx | 显示行号 |
more、less | 空格、b翻页,q退出 |
tail -f xxx | 动态读取内容 |
mkdir -p | 多级目录一并创建 |
tar zcvf xxx.tar.gz xxx | 打包并压缩 |
vi | set nu 显示行号 gg、G首行、末行 |
grep xxx *.java | 在所有文件中进行搜索 |
cat << EOF > xxxx EOF |
将中间文字塞入到某某文件,这个在shell或笔记中常用! |
rpm -qa|grep xxx | 查询当前系统已安装的软件,卸载 rpm -e --nodeps xxxxx |
yum provides | |
nohup xxx &> xxx.log & | 后台运行,并记录日志,停止一般直接ps、kill |
ip addr | 查看当前ip设置 |
yum provides “tree” | 根据命令反查yum中的rpm包 |
sed -i “s/^SELINUX=enforcing/SELINUX=disabled/g” /etc/selinux/config | 文本替换,/可以替换其他字符、如#避免有歧义!另外^、g应该是行首、行位 |
linux常用规范
目录 | 用途 |
---|---|
/usr/local | 软件安装路径 |
实验3、软件包管理
在centos中有这几种方式安装软件
- 二进制包,已经在第三方平台编译好,针对本系统,拿到后解压、运行即可。较少见
- RPM包,按红帽的包管理规范打包,使用
rpm -ivh xxx.rpm
安装,常出现依赖包不足的问题,需自行解决 - yum安装,在线安装rpm,本质与rpm一致,只要源充足,依赖问题自行解决,因此有本地目录、局域网、官网、第三方的解决方案。
- 源码编译安装,也是比较常见的方式,下载源码包,执行编译、安装,前期还可以对源码进行修改,开源首选。
软件 | 常用安装 | 备注 |
---|---|---|
tomcat | 二进制包 | 需要jdk支持,如果环境变量没有,需要修改脚本指定位置 |
jdk | 二进制包 | 配置环境变量方便其他软件使用 |
mysql | rpm | 社区版一般有7个,需要net-tools支持,一般用rpm *的方式安装避免顺序问题! |
mysql | 二进制包 | 解压、运行、配置、上生产 |
nginx | 源码 | 先安装依赖,然后编译,运行 |
redis | 源码 | 编译、运行 |
实验4、firewall-cmd常用命令
防火墙操作:
- 查看防火墙状态(systemctl status firewalld、firewall-cmd –state)
- 暂时关闭防火墙(systemctl stop firewalld)
- 永久关闭防火墙(systemctl disable firewalld)
- 开启防火墙(systemctl start firewalld)
- 开放指定端口(firewall-cmd –zone=public –add-port=8080/tcp –permanent)
- 关闭指定端口(firewall-cmd –zone=public –remove-port=8080/tcp –permanent)
- 立即生效(firewall-cmd –reload)
- 查看开放的端口(firewall-cmd –zone=public –list-ports)
实验5、添加自启动服务
rpm、yum安装的一般没有这种烦恼!
自编译的解决办法,如redis, 执行下方脚本就可以使用systemctl进行启停操作
cat << EOF > /usr/lib/systemd/system/redis.service
[Unit]
Description=Redis In-Memory Data Store
Documentation=https://redis.io/
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
ExecStop=/usr/local/redis/bin/redis-cli shutdown
ExecReload=/bin/kill -s HUP $MAINPID
Restart=always
[Install]
WantedBy=multi-user.target
EOF
具体可参考 CentOS7使用systemctl添加自定义服务 - 简书 (jianshu.com)
另外还有添加到init.d目录下的service目录,看红帽的发展者应该是逐步废弃的技术了,暂不展开!
二进制包,比如添加环境变量、全路径执行、或配置其他系统级脚本,后面有碰到再陆续补充!
实验6、添加定时器服务
centos开机自启动
# 添加脚本
cat << EOF > /root/test.sh
#! /bin/bash
java -jar /lmes/deployee/backend/ies-0.0.1-SNAPSHOT.jar &> /root/1.log &
EOF
# 授予脚本运行权限,测试OK
chmod +x test.sh
# 打开系统自启脚本
chmod +x /etc/rc.d/rc.local
# 添加脚本到系统进程中
echo "/root/test.sh" > /etc/rc.d/rc.local
crontab定时器
[root@xiaoluo ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
# 2 8-20/3 * * * 8:02,11:02,14:02,17:02,20:02 执行
# 0-10 17 1 * * 毎月1日从 17:00到7:10 毎隔1分钟 执行
# */10 * * * * 每隔10分 执行
[root@prd-bus-mysql-02 yunuser]# crontab -l
30 03 * * * /bin/sh /app/xtraBackup_database.sh >/dev/null 2>&1
*/5 * * * * ntpdate 192.168.70.151 > /dev/null 2>&1
评论系统未开启,无法评论!