1、用户管理
Linux系统是多用户多任务的
添加用户
# man ueradd 查看useradd命令的详细信息
# useradd --help 查看useradd命令的帮助信息
# 创建一个用户coding,并生成用户的主目录
# -m 创建用户主目录,默认有登录权限
[root@kuangshen ~]# useradd -m coding
# 设置密码,
[root@kuangshen ~]# passwd coding
[root@kuangshen ~]# cd /home
[root@kuangshen ~]# ls
coding
查看用户文件/etc/passwd
修改用户
# man usermod 查看详细信息
# 修改用户的登录shell 、用户主目录、组
# 修改它的组为 root,也就拥有了root权限
[root@kuangshen ~]# usermod -s /bin/ksh -d /home/coding222 -g root coding
用户设置密码
# man passwd
# 如果是超级用户,可以给任何一个账户指定它的密码
[root@kuangshen ~]# passwd coding
# 如果是当前用户,则直接输入passwd来修改密码
[coding@kuangshen ~]# passwd
Changing password for user coding
New password: # 输入密码是不显示的
Retype new password
# 密码设置为空
passwd -d 用户名
# 锁定用户
passwd -l 用户名
删除用户
# man userdel
# userdel -r 删除用户所有的目录文件
[root@kuangshen ~]# userdel -r coding
[root@kuangshen ~]# cat /etc/passwd
2、用户组管理
/etc/group
man groupadd # 添加组
man groupmod # 修改组
man groupdel # 删除组
对于组的操作本质是修改文件/etc/group
# 切换用户组
[root@kuangshen ~]# man newgp
[root@kuangshen ~]# newgp root
/etc/passwd
所有用户信息
# 取出一条记录
coding:x:1001:1001::/home/coding:/bin/bash
# 用户名:口令:用户组:组的标识:注释:用户的主目录:登录的shell
/etc/shadow
用户密码的管理
# 取出一条记录
coding:!!:18395:7:99999:7:::
# 登录名:加密密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:
3、进程管理
进程存在两种方式:前台进程,后台进程,一般我们会将一些服务使用后台进程方式启动
ps命令
查看当前系统正在执行的进程信息
-a 显示当前终端的所有进程信息
-u 以用户的形式显示进程信息
-x 显示后台进程运行的参数
[root@kuangshen ~]# ps -a
[root@kuangshen ~]# ps -aux|grep mysql # 查看某个服务的进程
# grep命令用于查找文件中符合条件的字符
ps -ef 可以查看父进程
-e 显示所有的进程
-f 格式化
UID: 用户id
PID: 进程的id
# 查看特定进程信息
[root@kuangshen ~]# ps -ef|grep docker
kill 杀进程
相当于windows的结束任务
kill 进程号
kill 进程名称
# 强制结束进程
kill -9 PID
pstree 进程树查看
-p 显示进程PID
-u 显示这个进程所属的用户
[root@kuangshen ~]# pstree -pu
使用pstree方便我们查看进程间的关系
小结
4、JDK安装
安装的三种方式
- rpm安装
- 解压缩包安装
- 在线安装
rpm安装jdk
安装包通过ssh22端口或者ftp21端口上传到服务器,
1、线检查本地是否有安装JDK
[root@kuangshen ~]# rpm -qa|grep jdk
jdk1.8-1.8.0_221-fcs.x86_64
# 卸载
[root@kuangshen ~]# rpm -e --nodeps jdk1.8-1.8.0_221-fcs.x86_64
# 确认卸载完成
[root@kuangshen ~]# java -version
2、安装jdk
[root@kuangshen ~]# rpm -ivh jdk-8u251-linux-i586.rpm
3、配置环境
[root@kuangshen ~]# vi /etc/profile
# 添加下面的内容,路径自行修改
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12
CLASSPATH=%JAVA_HOME%/lib:%$JAVA_HOME%/jre/bin
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export JAVA_HOME CLASSPATH PATH
# 让配置生效
[root@kuangshen ~]# source /etc/profile
[root@kuangshen ~]# java -version
java version "1.8.0_221"
# java默认安装目录
[root@kuangshen ~]# cd /usr/java
5、Tomcat安装
解压缩包安装
到官网下载tomcat的压缩包,后缀tar.gz,上传到服务器
1、解压缩
[root@kuangshen usr]# tar -zxvf apache-tomcat-9.0.22.tar.gz
2、启动测试
使用 curl命令模拟浏览器访问测试
# curl命令 -X请求方式(GET/POST/PUT/DELETE) 请求地址 -d 参数
curl -XPUT 'localhost:9200/customer/car/1' -d '{"name":"jude"}'
curl -XDELETE 'localost:9200/customer/external/1?name=pretty'
在Linux测试中,可以使用纯命令curl测试请求,如果你不使用Postman等工具的话
公网访问
-
防火墙
云服务器默认防火墙是关闭的,手动开启
# 查看防火墙状态 [root@kuangshen bin]# systemctl status firewalld # 启动防火墙 systemctl start firewalld # 关闭防火墙 systemctl stop firewalld # 重启防火墙 systemctl restart firewalld # 查看防火墙开启的端口 firewall-cmd --list-ports # 开启防火墙端口 firewall-cmd --zone=public --add-port=9200/tcp --permanent #命令含义: # –zone #作用域 # –add-port=9200/tcp #添加端口,格式为:端口/通讯协议 # –permanent #永久生效,没有此参数重启后失效 # _注意:添加端口后,必须重新加载防火墙一遍才会生效 firewall-cmd --reload #关闭防火墙端口: firewall-cmd --zone=public --remove-port=9200/tcp --permanent
-
安全组策略
如果是云服务器,还需要配置安全组,否则外网链接不上
6、Docker安装
Yum在线安装
Docker 官网: https://docs.docker.com/
Linux安装docker官方文档:https://docs.docker.com/engine/install/centos/
docker仓库:https://hub.docker.com/
1、查看docker 版本,确认是否已安装
[root@VM_0_3_centos ~]# docker version
Client: Docker Engine - Community
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 633a0ea
Built: Wed Nov 13 07:25:41 2019
OS/Arch: linux/amd64
Experimental: false
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
2、安装前先卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
确认centos的版本
[root@VM_0_3_centos ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@iZwz996g0zi82g3p8a5i9mZ ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
如果不想在线安装,也可以选择rpm手动安装docker
3、环境安装
# 确认安装c和c++环境
[root@iZwz996g0zi82g3p8a5i9mZ ~]# yum -y install gcc
Package gcc-4.8.5-39.el7.x86_64 already installed and latest version
Nothing to do
[root@iZwz996g0zi82g3p8a5i9mZ ~]# yum -y install gcc-c++
Package gcc-c++-4.8.5-39.el7.x86_64 already installed and latest version
Nothing to do
4、设置镜像仓库
# 工具包
yum install -y yum-utils
# 安装阿里的镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5、安装docker engine
# 可以更新yum的缓存软件索引包,保证下载最新的
yum makecache fast 或者yum update
# docker-ce(社区版) docker-ee(企业版)
yum install docker-ce docker-ce-cli containerd.io -y
# 安装完毕启动docker
systemctl start docker
# 关闭docker
systemctl stop docker
# 运行一个hello world镜像image,确认docker正确安装
docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete
卸载docker-ce(社区版)
#1 卸载docker 引擎,客户端,包含的安装包
$ sudo yum remove docker-ce docker-ce-cli containerd.io
#2 删除所有的镜像文件
sudo rm -rf /var/lib/docker
使用docker安装镜像
比如安装tomcat,两步:search搜索tomcat->pull 安装tomcat
docker解决的问题场景
我们原来发布项目,是打jar包,war包,使用docker之后,我们环境一起打包成一个镜像发布服务器上,使用命令docker run启动镜像,环境都不用配置,大大节省开发时间和部署时间
7、宝塔安装
宝塔是简单好用的服务器运维面板
搜索bt.cn,官网:https://bt.cn/
我们选择Linux面板,安装免费版
安装
宝塔面板其实是安装在我们服务器上的一个程序应用,我们通过浏览器访问管理,需要开发一些端口,
帮助文档:https://www.bt.cn/bbs/thread-19376-1-1.html
1、云服务器安全组开放端口
2、安装命令
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
安装完成,会显示面板地址和登录用户名/密码
Bt-Panel: http://119.109.0.119:8888/jude
username: xxxxx
password: xxxxx
Warning:
If you cannot access the panel,
release the following port (8888|888|80|443|20|21) in the security group
宝塔Linux面板命令大全
官方文档:https://www.bt.cn/btcode.html
# 宝塔工具箱
bt
# 停止
/etc/init.d/bt stop
# 启动
/etc/init.d/bt start
# 卸载面板
/etc/init.d/bt stop && chkconfig --del bt && rm -f /etc/init.d/bt && rm -rf /www/server/panel
# 修改面板密码,如改成123456
cd /www/server/panel && python tools.py panel 123456
安全
防火墙端口开放关闭,可以在这里配置
文件可视化管理
可以上传下载文件,在线修改文件,如修改nginx的配置
一键安装环境
一键部署应用
部署网站,需要域名备案