在这里推荐先参考我的另一篇文章:Linux的基础学习 然后再详细学习本篇教程。文章源自JAVA秀-https://www.javaxiu.com/758.html
修改主机名命令
需求: 想给linux主机取个有含义的主机名,方便将来查询文章源自JAVA秀-https://www.javaxiu.com/758.html
查看主机名:hostname 临时修改: 修改主机名:hostname 新主机名 此时修改的主机名只在当前服务中有效果,服务重启将还原主机名 永久设置: hostnamectl set-hostname 主机名 或者修改配置文件: etc/hostname文件 永久更改,重启linux有效.reboot重启
ip地址设置--自动配置/手动配置命令
需求: 之前我们linux的ip地址都是安装的时候自动分配获取的,能不能设置一个固定的ip地址文章源自JAVA秀-https://www.javaxiu.com/758.html
查看网络配置:ifconfig 设置固定ip: 编辑ifcfg-ens33网卡文件 vi /etc/sysconfig/network‐scripts/ifcfg‐ens33 ifcfg-ens33文件(ens33是通过ipconfig查询出来的): ifcfg‐ens33:该文件存放网络的基本信息.(存在etc/sysconfig/network‐scripts目录下)
信息如下:文章源自JAVA秀-https://www.javaxiu.com/758.html
DEVICE=ens33 #网卡名称 TYPE=Ethernet #网卡类型 以太网 ONBOOT=yes #是否开机就使用此网卡 BOOTPROTO=dhcp #启动网卡时指定获取IP地址的方式 常用取值 : dhcp (自动获取ip地址,网关,子网掩码等信息无需设置) 常用取值:static (静态ip,如需要访问网络,需要自己设置ip地址等信息) 其他取值:none (不指定,如需要访问网络,,需要自己设置ip地址等信息) IPADDR=192.168.50.128 #ip地址 GATEWAY=192.168.50.2 #网关 NETMASK=255.255.255.0 #子网掩码
注意: 修改完毕后要重启网卡服务:service network restart文章源自JAVA秀-https://www.javaxiu.com/758.html
总结:linux的ip地址2种配置方式 linux的主机自动获取ip:BOOTPROTO=dhcp 会自动给当前linux主机分配ip地址 linux的主机手动设置ip:BOOTPROTO=static 手动自己配置ip 网关 子网掩码 IPADDR=192.168.50.128 #ip地址 GATEWAY=192.168.50.2 #网关 NETMASK=255.255.255.0 #子网掩码 还需要重启网卡服务 加载修改过后的ifcfg‐ens33配置文件 其中PREFIX=24而NETMASK与PREFIX的作用是一样的,都是配置子网掩码,只是PREFIX更简洁而已,两个都存在时,PREFIX优先起作用
ip和域名的映射
我们访问自己电脑可以使用127.0.0.1访问,也可以通过localhost,其实是由于localhost这个域名映射到了127.0.0.1这个ip地址上了. 同理,我们也可以设置域名映射,把要访问的虚拟机ip地址在当前主机上映射。文章源自JAVA秀-https://www.javaxiu.com/758.html
更改/etc下的hosts文件 最下面添加ip和域名的映射 192.168.xx.xx gyhqq.com
网络服务管理(对应的是window的服务管理)
例如: service network(网卡服务) restart 重启网卡服务文章源自JAVA秀-https://www.javaxiu.com/758.html
服务命令: service 服务名称 status -----查看服务状态 service 服务名称 start -----开启服务 service 服务名称 stop -----关闭服务 service 服务名称 restart -----重启服务 或者 systemctl status 服务名称 -----查看服务状态 systemctl start 服务名称 -----开启服务 systemctl stop 服务名称 -----关闭服务 systemctl restart 服务名称 -----重启服务
配置服务开机自启动文章源自JAVA秀-https://www.javaxiu.com/758.html
mysql window 开机自动启动的 mysql linux 开机不自动启动的 开机自启/禁用服务 chkconfig mysql off 关掉服务的开机自动启动 chkconfig mysql on 开启服务的开机自动启动 或者 systemctl enable mysql NetworkManager 开启network服务的开机启动 systemctl disable mysql NetworkManager 关闭network服务的开机启动
进程端口的查看
端口号的查看:netstat -apn/-an
如果提示命令没找到:yum install net-tools
端口号冲突 可以进行查看谁占用了 方便结束掉占用端口的进程 kill -9 pid
系统中网络进程端口的监听:
命令语法: netstat [参数]
参数: -a
防火墙设置
详细参考我的另外两篇文章:文章源自JAVA秀-https://www.javaxiu.com/758.html
1 安装iptables作为防火墙(企业用) yum install iptables-services #通过yum install 命令可以从网上下载安装iptables 2 停止firewall及其开机启动 systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 3 启用iptables,配置开机启动 systemctl start iptables.service #启动iptables systemctl enable iptables.service #将iptables设置为开机启动 4 查看iptables是否安装成功:systemctl status iptables 关闭iptables防火墙:systemctl stop iptables #严重不建议 重启iptables防火墙:systemctl restart iptables ps:只要安装好了iptable这个防火墙,这个防火墙的配置文件在/etc/sysconfig/iptabls iptabls配置文件:允许某个端口访问 后期我们要安装软件 比如tomcat 8080 我们可以通过修改iptables文件设置8080端口可以被外界访问 修改配置文件:vi /etc/sysconfig/iptables 复制指定端口 ps:iptables是iptable防火墙的配置文件 所以必须得安装iptable防火墙才有该配置文件
SSH免密登录
在企业中,多台Linux机器是可以相互之间进行登录和退出的。 用Linux自带的SSH客户端命令,可以用输入密码的方式登录到另一台Linux机器中文章源自JAVA秀-https://www.javaxiu.com/758.html
命令:ssh 另一台linux主机的地址 需要密码 退出:exit
发现每次登录另一台Linux机器都要输入用户名和密码,难免让用户觉得麻烦。那么能不能 一个用户在不输入密码的情况下,也能登录另一台Linux机器呢,答案是可以的 这就是SSH免密登录(多台linux操作系统主机互相登录)文章源自JAVA秀-https://www.javaxiu.com/758.html
基于一对密钥:也就是你必须为自己创建一对密钥(公钥和私钥),并把公匙放在要访问的服务器上 密钥生成命令:ssh-keygen 三次回车 将公钥给另一台服务器:ssh-copy-id 另一台linux服务器的ip 再次登录:ssh 另一台linux服务器的ip 就再也不用密码了
Nginx的安装
1安装C语言环境(gcc) 命令:yum install gcc-c++ 安装期间有提示,一律选y 2安装Nginx依赖环境,‐y表示所有提示默认选择y yum -y install pcre pcre-devel yum -y install zlib zlib-devel yum -y install openssl openssl-devel 3放入/usr/local下解压并进入解压目录 tar -zxvf nginx-1.13.9.tar.gz cd /usr/local/nginx-1.13.9 4编译并安装 注意:C语言研发的软件,都需要在解压的源码目录中,执行编译安装操作。 根据权限是否有x权限判断是否是可执行程序,也可以根据命令行中是否绿色显示判断,比如configure和nginx ./configure make make install ps:安装成功之后,就会在/usr/local下多出了一个nginx目录. 5启动/停止 Nginx 进入nginx的sbin目录:cd /usr/local/nginx/sbin ./nginx 启动 ./nginx -s stop 停止 ./nginx -s reload 重启 6 在防火墙配置文件中开放80端口 vi /etc/sysconfig/iptables 重启防火墙服务:service iptables restart 7 查看是否有nginx的线程是否存在 命令 ps -ef | grep nginx 8 反向代理,是服务端代理。 例如:我们有10台服务器集群,共同提供了一个web应用服务。为了实现负载均衡或者安全原因,为这10台服务器提供一个代理服务器。当有客户端访问web应用时,请求到代理服务器,由代理服务器把请求分发给某一个服务器处理,然后再由代理服务器把响应结果交给客户端。 这台代理服务器,是服务端的代理,称为反向代理。 9 正向代理,是客户端代理。 例如:我们访问不了google,但是香港的电脑可以访问。我们可以把访问请求交给香港的某台服务器电脑,让这台服务器电脑帮我们转必到google;然后得到google的响应内容,再把响应内容转交给我们。 这台服务器电脑,就是我们的代理,是客户端的代理,称为正向代理。
Nginx搭建负载均衡
详细参考我另一篇文章:Nginx反向代理、正向代理、负载均衡的配置详解文章源自JAVA秀-https://www.javaxiu.com/758.html
由于Nginx上没有安装tomcat,所以,暂时使用Windows版,完成负载均衡搭建演示 1.准备一个nginx服务器 2.准备多个tomcat服务器 修改tomcat的端口 关闭的端口 访问的端口 连接的端口 3.实现反向代理 修改nginx的配置文件 nginx.conf upstream aaa{ server localhost:8080 weight=5; server localhost:8090 weight=1; } server{ location / { # root html; index index.html index.htm; proxy_pass http://aaa; } }
用户管理
在Linux系统中,除超级管理员外,还可以创建用户,创建组文章源自JAVA秀-https://www.javaxiu.com/758.html
1 创建新用户 命令: useradd -m 新用户名 ps:在home目录下会多一个用户 默认有一个组:组名就是当前用户名 2 设置新用户密码 命令: passwd 用户名 ps:普通用户的密码设置需要8位数的 3 使用新用户登录linux 使用新创建的用户名和密码登录 ps:#代表超级管理员 $代表普通用户 4 修改用户名 命令 usermod -l 新用户名 旧用户名 ps:修改旧用户名为新用户名,该用户所在组名不变 还是以前的名字 旧用户名就不能再登录Linux了 必须要使用新用户名 5 创建新用户组 命令:groupadd 新组名 6 修改用户组名 命令:groupmod -n 新组名 旧组名 7 将用户添加到新用户组中 命令:usermod -g 组名 用户名 8 从新用户组中删除用户 命令:gpasswd -d 用户名 用户组名 详细命令介绍: 1.创建用户 (该权限归root帐号) Linux和windows一样是一个多用户操作系统,我们系统中只有一个root用户,如何在linux中创建其他的用户呢? 命令格式: useradd -m -g 组名 新用户名 命令格式: passwd 新用户名 参数解释: -m 自动在/home目录了,建立用户家目录,家目录名字就是新用户名 -g 组名 指定新用户所在的组,如果不带"-g 组名"参数的话,会建立和新用户名同名的组 Eg: 创建tom用户 创建用户命令:useradd ‐m tom 设置密码: passwd tom (注意:设置密码的时候最少8位数字和字母组合,不能包含用户名) 2.修改用户 命令语法: usermod -l 新登录名 原登录名 (使用管理员权限修改原登录名为新登录名,但所在组名不变) Eg: 修改tom的登录名称为tomcat usermod ‐l tomcat tom 3.用户组操作 创建一个新组: 命令语法:groupadd 组名 Eg: groupadd javaee 将用户添加到组中 命令语法: usermod -g 组名 用户 Eg: usermod ‐g javaee tomcat 修改组名: 命令语法:groupmod -n 新组名 原组名 Eg: groupmod ‐n java javaee 4.为用户配置sudo权限 sudo,可以理解为超级管理员执行的操作,最高权限.(有效操作时长5分 钟) 使用步骤: 1. 用root编辑 vi /etc/sudoers 2. 找到root ALL=(ALL) ALL 3. 找到之后,在当前行的下方添加一行 tomcat ALL=(ALL) ALL 在普通用户上,使用超级权限时前面需要加 sudo 修改sudoers文件时需要强制写入信息(该文件为只读文件)文章源自JAVA秀-https://www.javaxiu.com/758.html

评论