:CentOS 7.9 yum镜像源不再维护,切换为阿里云
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo:更新yum
yum update -y#设置阿里云yum源
yum install -y yum-utils device-mapper-persistent-data lvm2安装JDK:
下载jdk1.8
下载后解压
tar -xvf jdk-8u171-linux-x64.tar.gz把目录放到 /usr/local/jdk8 位置
mv jdk1.8.0_171 /usr/local/jdk8修改profile配置文件
vi /etc/profile最后面添加一下内容
export JAVA_HOME=/usr/local/jdk8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
保存退出
执行下面命令使修改生效
source /etc/profile查看是否生效
java -version--------------------------------------------------------------------------------
安装TOMCAT:
1、查看Tomcat的所有进程
ps -ef|grep tomcat2、查看tomcat进程是否启动
ps aux | grep tomcat杀死进程:
killl -9 [pid]前端运行:
./catalina.sh run后台运行:
CTRL+Z
停止运行:
CTRL+C
看内存:
cat /proc/meminfo--------------------------------------------------------------------------------
New linux
:JDK安装
1、上传和解压
tar -zxvf java_8u131_linux_x64.tar.gz2、添加环境变量
vi /etc/profile在文档的最后面添加如下内容,记住不要带空格
export JAVA_HOME=/usr/local/jdk1.8.0_131
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin3、让配置生效
source /etc/profile4、验证
java -version显示版本即为成功
--------------------------------------------------------------------------------
:MySQL安装
1、检查系统是否安装过mysql(确认没有可跳过)
//检查系统中有无安装过mysql
rpm -qa|grep mysql//查询所有mysql 对应的文件夹,全部删除
whereis mysql
find / -name mysql2、卸载CentOS7系统自带mariadb (确认没有可跳过)
# 查看系统自带的Mariadb
rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64
# 卸载系统自带的Mariadb
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64# 删除etc目录下的my.cnf ,一定要删掉,等下再重新建,之前我将就用这个文件,后面改配置各种不生效
rm /etc/my.cnf3、检查有无安装过mysql 用户组,没有的话创建
//检查mysql 用户组是否存在
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql// 创建mysql 用户组和用户
groupadd mysql
useradd -r -g mysql mysql4、下载安装,从官网安装下载(可自行下载tar.gz包然后上传,或者用下面方式)
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz5、解压安装mysql
tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz顺便改一下名字
mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql6、更改mysql 目录下所有文件夹所属的用户组和用户,以及权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql7、进入mysql/bin/目录,编译安装并初始化mysql,务必记住数据库管理员临时密码
cd /usr/local/mysql/bin#务必记住数据库管理员临时密码 务必记住数据库管理员临时密码 务必记住数据库管理员临时密码
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql8、编写配置文件 my.cnf ,并添加配置
vi /etc/my.cnf在插入模式下编写,完成后保存,当然这个可以自己添加
[mysqld]
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
lower_case_table_names=1
innodb_file_per_table=1#表名大小写不明感,敏感为lower_case_table_names=1
9、启动mysql 服务器
#启动服务
/usr/local/mysql/support-files/mysql.server start#查询服务
ps -ef|grep mysql
ps -ef|grep mysqld#结束进程
kill -9 PID10、添加软连接,并重启mysql 服务
//添加软连接
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql//重启mysql服务
service mysql restart11、登录mysql ,密码就是初始化时生成的临时密码
mysql -u root -p12、修改密码(因为生成的初始化密码难记)注意:分号结尾
set password for root@localhost = password('123456');开放权限后修改密码:
set password for 'root'@'%'=password('yuanjianDONG89.');13、开放远程连接
use mysql;
update user set user.Host='%' where user.User='root';
flush privileges;14、设置开机自启
//将服务文件拷贝到init.d下,并重命名为mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld//赋予可执行权限
chmod +x /etc/init.d/mysqld//添加服务
chkconfig --add mysqld//显示服务列表
chkconfig --list15、关闭防火墙
systemctl stop firewalld#禁用防火墙
systemctl disable firewalld--------------------------------------------------------------------------------
MySQL 8 安装
在 /usr/local下 创建mysql文件夹
cd /usr/local/mkdir mysql切换到mysql文件夹下
cd mysql下载mysql,也可以直接在官方下载最新版本 https://dev.mysql.com/downloads/mysql/ 选择linux
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz#若command not found 需要安装wget 再执行上边代码
yum install -y wget解压mysql
tar -vxf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz重命名文件夹
mv mysql-8.0.20-linux-glibc2.12-x86_64 mysql-8.0进入文件夹,并创建data文件夹 存储文件
cd mysql-8.0mkdir data创建用户组以及用户
groupadd mysql
useradd -g mysql mysql授权用户
chown -R mysql.mysql /usr/local/mysql/mysql-8.0编辑my.cnf文件
vi /etc/my.cnf按I进入编辑模式
修改[mysqld]的内容如下:
(初级设置内容)
[mysqld]
basedir=/usr/local/mysql/mysql-8.0
datadir=/usr/local/mysql/mysql-8.0/data
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
lower_case_table_names=1
max_connections=400(可选设置内容)
[mysqld]
basedir=/usr/local/mysql/mysql-8.0
datadir=/usr/local/mysql/mysql-8.0/data
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
lower_case_table_names=1
max_connections=400
innodb_buffer_pool_size = 1024M
tmp_table_size = 256M
max_heap_table_size = 256M
wait_timeout = 60
interactive_timeout = 60
default_storage_engine = InnoDB
thread_cache_size = 50按esc退出编辑,输入:wq!保存并退出
进入bin目录并进行初始化,记住root@localhost:后生成的密码
cd bin./mysqld --user=mysql --basedir=/usr/local/mysql/mysql-8.0 --datadir=/usr/local/mysql/mysql-8.0/data/ --initialize添加mysqld服务到系统
cd ../
cp -a ./support-files/mysql.server /etc/init.d/mysql授权以及添加服务
chmod +x /etc/init.d/mysql
chkconfig --add mysql启动mysql
service mysql start查看启动状态
service mysql status将mysql命令添加到服务
ln -s /usr/local/mysql/mysql-8.0/bin/mysql /usr/bin登录mysql,输入第9步的初始化密码
mysql -uroot -p修改root密码,
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; 使密码生效
flush privileges;修改远程连接并生效
use mysql;
update user set host='%' where user='root';
flush privileges;
exit;配置防火墙开放3306端口,防火墙被停了或者关掉了也就不用配置了
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
systemctl restart firewalld.service--------------------------------------------------------------------------------
:mysql添加登录用户
cmd命令使用root账户登录
mysql -uroot -p
创建用户
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
说明:
username:你将创建的用户名
host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
示例:
CREATE USER 'guest'@'%' IDENTIFIED BY '123456';
3.配置权限
GRANT all ON . TO 'guest'@'%'
说明:
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*
示例:
GRANT privileges ON databasename.tablename TO 'username'@'host'
4.刷新权限(使配置生效)
flush privileges;
mysql8远程访问:
mysql -uroot -p
use mysql;
select user,host,plugin from user;
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL ON . TO 'username'@'%';
flush privileges;
--------------------------------------------------------------------------------
:安装docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum install docker-ce -y
docker -v
#安装加速镜像
mkdir -p /etc/docker
vi /etc/docker/deamon.json
#添加保存内容
{
"registry-mirrors": ["https://v2ltjwbg.mirror.aliyuncs.com"]
}
#重启docker
systemctl daemon-reload
systemctl restart docker
#docker安装RabbitMQ 并设置初始账号密码
docker run -di --name myrabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management
#查看docker images
docker images
#通过images id启动rabbitmq
docker start ba566c9ec4a3
#访问登陆测试
http://192.168.137.201:15672
--------------------------------------------------------------------------------
#给权限
chmod u+x [文件]
#看硬盘空间
df -hl
df -hl:查看磁盘剩余空间
df -h:查看每个根路径的分区大小
du -sh [目录名]:返回该目录的大小
du -sm [文件夹]:返回该文件夹总M数
du -h [目录名]:查看指定文件夹下的所有文件大小(包含子文件夹)
--------------------------------------------------------------------------------
云服务器挂载磁盘\新磁盘挂载到linux并使用
首先购买或租赁扩容云硬盘\连接新硬盘
#查看挂载位置
lsblk
根据容量判断挂载位置,比如vdb
#分区
fdisk /dev/vdb #启动分区工具
d #删除所有分区
n #新建分区
p #选择primary分区模式
1 #输入1或者直接回车,默认第一个分区
[直接回车] #第一个分区默认2048大小
[直接回车] #如果要分多个分区请填写容量,直接回车则剩余容量分为一个区显示
Created a new partition 1 of type 'Linux' and of size 88 GiB.
p #查看分区情况,一般显示多一个vdb1
w #保存并退出
#查看分区状态
lsblk
#格式化文件系统
mkfs.ext4 /dev/vdb1
blkid #查看是否成功
#将盘符挂载
mkdir /data #新建挂载位置目录
mount /dev/vdb1 /data #将盘符挂载到/data上
#查看挂载情况
lsblk #查看挂载情况
#设置自动挂载
echo "/dev/vdb1 /data ext4 defaults 0 0" >> /etc/fstab #设置开机自动挂载
mount -a #检测开机挂载文件编写是否正确
df -TH #查看磁盘使用率
:设置共享
#安装Samba
yum install -y samba
#编辑配置文件
vi /etc/samba/smb.conf
#按i进入编辑模式在末尾插入以下内容,描述链接:
https://www.cnblogs.com/python-wen/p/10316658.html
https://blog.csdn.net/weixin_40806910/article/details/81917077
#其中path为共享目录 [mys]就是共享文件夹名称
[global]
workgroup = WORKGROUP
security = user
use sendfile=yes
read size = 65536
read prediction = yes
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072
write raw = yes
read raw = yes
max xmit=65535
aio read size = 16384
aio write size = 16384
max connections = 0
deadtime = 0
max log size = 500
password server = *
[mys]
comment = mu share
path = /home
public = yes
writable = yes
browseable = yes
#增加系统用户
groupadd [组名] -g 6000
示例:groupadd WORKGROUP -g 6000
useradd [用户名] -u 6000 -g 6000 -s /sbin/nologin -d /dev/null
示例:useradd su -u 6000 -g 6000 -s /sbin/nologin -d /dev/null
#忽略文件夹已存在提示
#赋予用户文件夹权限
chown -R [用户名] [文件夹名]
示例:chown -R su /home
#将上面用户增加到Samba用户
smbpasswd -a [用户名]
#输入两次密码
#启动服务
systemctl start smb
systemctl restart smb
#关闭selinux,否则可能无访问权限
setenforce 0
#永久关闭selinux
vi /etc/selinux/config
修改 SELINUX=enforcin 为SELINUX=disable
#设置Samba 开机启动
chkconfig smb on
其他命令:
service smb status 查看
service smb start 启动
service smb stop 停止
service smb restart 重启
service smb reload 重新载入
--------------------------------------------------------------------------------
配置防火墙规则:
1.添加端口
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
2.重新载入
firewall-cmd --reload
3.重启防火墙:
systemctl restart firewalld.service
为samba开放特定端口
firewall-cmd --zone=public --add-port=139/tcp --permanent
firewall-cmd --zone=public --add-port=445/tcp --permanent
firewall-cmd --zone=public --add-port=137/udp --permanent
firewall-cmd --zone=public --add-port=138/udp --permanent
firewall-cmd --reload
systemctl restart firewalld.service
注:samba开发tcp/139,445端口,udp/137,138端口。
特别是445端口不能有问题
--------------------------------------------------------------------------------
:挂载exFAT磁盘
yum install -y http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
yum install exfat-utils fuse-exfat
mount -t exfat /dev/[磁盘号] /[挂载位置]
:挂载NTFS磁盘
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install ntfs-3g
mount.ntfs-3g /dev/[磁盘号] /[挂载位置]
linux 下调整tomcat的内存设置
修改bin目录下catalina.sh文件
vi bin/catalina.sh
在cygwin=false之上:
添加以下语句:
JAVA_OPTS="-Xms1400m -Xmx1400m -Xss512K -XX:PermSize=128m -XX:MaxPermSize=512m"
其中-xms为jvm初始化堆的大小,-xmx为jvm堆的最大值,一般为内存的80%,差值越大内存回收机制处理就会越慢,差值越小就会越频繁消耗性能。一般设为一样大会好一些。
另一优化例子:
export JAVA_OPTS="-server -Xms1400M -Xmx1400M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=31 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true "
--------------------------------------------------------------------------------
各个查询命令
netstat -tunlp | grep 端口号
uname -a # 查看内核/操作系统/CPU信息的linux系统信息
head -n l /etc/issue # 查看操作系统版本
cat /proc/cpuinfo # 查看CPU信息
hostname # 查看计算机名的linux系统信息命令
lspci -tv # 列出所有PCI设备
lsusb -tv # 列出所有USB设备的linux系统信息命令
lsmod # 列出加载的内核模块
env # 查看环境变量资源
free -m # 查看内存使用量和交换区使用量
df -h # 查看各分区使用情况
du -sh # 查看指定目录的大小
grep MemTotal /proc/meminfo # 查看内存总量
grep MemFree /proc/meminfo # 查看空闲内存量
uptime # 查看系统运行时间、用户数、负载
cat /proc/loadavg # 查看系统负载磁盘和分区
mount | column -t # 查看挂接的分区状态
fdisk -l # 查看所有分区
swapon -s # 查看所有交换分区
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
dmesg | grep IDE # 查看启动时IDE设备检测状况网络
ifconfig # 查看所有网络接口的属性
iptables -L # 查看防火墙设置
route -n # 查看路由表
netstat -lntp # 查看所有监听端口
netstat -antp # 查看所有已经建立的连接
netstat -s # 查看网络统计信息进程
ps -ef # 查看所有进程
top # 实时显示进程状态用户
w # 查看活动用户
id # 查看指定用户信息
last # 查看用户登录日志
cut -d: -f1 /etc/passwd # 查看系统所有用户
cut -d: -f1 /etc/group # 查看系统所有组
crontab -l # 查看当前用户的计划任务服务
chkconfig –list # 列出所有系统服务
chkconfig –list | grep on # 列出所有启动的系统服务程序
rpm -qa # 查看所有安装的软件包
cat /proc/cpuinfo :查看CPU相关参数的linux系统命令
cat /proc/partitions :查看linux硬盘和分区信息的系统信息命令
cat /proc/meminfo :查看linux系统内存信息的linux系统命令
cat /proc/version :查看版本,类似uname -r
cat /proc/ioports :查看设备io端口
cat /proc/interrupts :查看中断
cat /proc/pci :查看pci设备的信息
cat /proc/swaps :查看所有swap分区的信息
--------------------------------------------------------------------------------
安装FRP or :
1、上传包到想要安装的位置
2、cd 到指定目录
3、tar -vzxf xxx.tar.gz 解压
4、mv xxx xxx 重命名文件夹
5、cd xxx 进入目录
6、使用VI命令按I键编辑INI文件,参考:
#FRPS.INI#
[common]
# 监听端口
bind_port = 7000
# 面板端口
dashboard_port = 7500
# 登录面板账号设置
dashboard_user = admin
dashboard_pwd = admin
# 设置http及https协议下代理端口(非重要)
vhost_http_port = 7080
vhost_https_port = 7081
# 身份验证
token = 88888888
#FRPC.INI#
[common]
# server_addr为FRPS服务器IP地址
server_addr = www.baidu.com
# server_port为服务端监听端口,bind_port
server_port = 7000
# 身份验证
token = 88888888
[work_PC_connect]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7101
7、ESC键 输入:wq!保存退出
8、(使用systemctl管理)vim /etc/systemd/system/frps.service
9、按I进入编辑模式输入以下内容:
[frps]# 服务名称,可自定义
Description = frps service
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart =/usr/local/frp/frps -c /usr/local/frp/frps.ini
[Install]
WantedBy = multi-user.target
10、按ESC退出编辑,输入:wq!保存退出
11、使用systemctl start frps启动,若报错请检查vim /etc/systemd/system/frps.service配置内容
12、开机自启动systemctl enable frps
(FRPC基本一样,使用server_addr+dashboard_port查看frp连接状态,使用dashboard_user/dashboard_pwd 账号密码进行登录,示例:www.baidu.com:7500,账号/密码:admin/admin)
--------------------------------------------------------------------------------