前言
在入门linux的时候感觉大部分很糟糕的,尤其是java开发者来说,对于非运维人员可能刚开始会对linux有很大的抵触性,可能还是更多喜欢桌面操作。或者在之前的学习中本来web的一堆东西就已经够绕的了,怎么又来个linux。万事开头难,对于java开发者对运维也有一定的要求,所以linux这块还是要抱着怀抱之心吧,可以先从服务器或者双系统,又或者虚拟机入手。
服务器
服务器的选择
- 感觉服务器还是
阿里云
好用一些吧,相比腾讯云阿里云的镜像选择更多一些
,不少作者把开发环境部署好,能够满足大部分开发者的环境需求,减少配置的步骤,当然,如果你想学习配置,时间充足。可以选裸的镜像配置环境,但是做好服务器被玩炸重新配的准备。并且如果是学生用户各大云平台基本都是10元一月学生机。也不贵。
安全组注意事项:
- 对于服务器,镜像选择完安全组是第一个要干的事情。记得当时年少启动tomcat怎么也访问不了,防火墙关闭也不行。是因为云平台的安全组
入口方向端口
没有开通。云平台为了保护服务器在用户之外设置了一层防火墙,需要你在。当然,类似80
这些端口需要备案后才能使用! - 不要开通所有端口,端口可能成为被攻击的对象,并且还有些中间件会有漏洞,一些人会顺着这个漏洞入侵。比如
redis
6379
端口的挖矿漏洞。需要那个端口去开就ok了。
双系统(虚拟机)
- 对于服务器用centos7和ubuntu居多。但是如果装双系统个人感觉
ubuntu
等debian
系列更好用,如果你是其他系列爱好者也行。 - 对于安装ubuntu说一点。如果是N卡的可能会遇到很多坑。因为显卡问题笔者的ubuntu装了大概有三四次。并且也崩溃过。
N卡
的话记住一个单词nomedeset
。在进入时候按e在spash后面添加就能进入系统不会死机。进入系统后可自行安装Nivadia驱动。或者用ubuntu自带的设备更新器的驱动。这样能保证你的开机正常,但是关闭屏幕时间长会死机
。就需要你安装新版本的驱动了。自行百度或者增加显卡的ppa源更新。瞎搞搞即可! - 搞完之后就可以对你的系统进行安装程序,完善了。有很多软件支持ubuntu系统。 -
常用指令
对于linux最重要的就是指令了。对于自己常用的指令也做一些汇总。
常用
cd xxx
#进入目录 ls/ll
#查看文件夹内容 mkdir xxx
#创建文件夹 vim xxx.xxx
#创建xxx.xxx文件 tree
#树型结构 rm -rf */xxx
#删除所以/xxx文件 mv a xx/a
#移动/重命名 ./xxx.sh
#启动xxx.sh kill -9 xxxx
#删除进程号 poweroff
#关机 ping ip
#连接测试 ifconfig
#查看和配置网络设备
权限
chmod [-R] xyz
文件或目录 eg:chmod -R 777 tomcat #对tomcat文件夹更改权限 -R:进行递归的持续更改,即连同子目录下的所有文件都会更改 chown
命令改变文件所有者 chgrp
命令,改变文件所属组
更新、下载
wget 链接地址
#远程下载 sudo apt-get update
更新包资源 sudo apt-get install
安装 sudo apt-get remove packag
e 删除包
vim/vi简单
vim xxx.log
#查看xxx文件 进入后i
编辑 编辑完 Esc
输入:
(shift+;) 输入wq!
java
tomcat: 启动(进入bin下) ./startup.sh
关闭(进入bin下) ./shutdown.sh
实时查看日志/控制台:tail -f xxx.out
springboot: jar 包启动 java -jar xxx.jar
jar 包后台启动 nohup java -jar xxx.jar &
查看系统、进程
ps aux
#查看系统进程 netstat -tunlp|grep 5601
#查看该端口对应进程 ps -ef|grep java
#查看java(可替换)相关进程 free -m
#查看系统内存、cpu等指标运行情况 top
#查看进程情况
ssh
远程连接(先apt-get install ssh) ssh 角色@ip/域名地址 ssh [email protected]
tar解压缩
tar -zcvf xxx.tar.gz xxx
打包 tar -zxvf xxx.tar.gz xxx
解压
zip -r filename.zip filesdir
压缩 unzip filename.zip
解压
其他解压缩甚至指令如有需要请具体百度
scp命令(样例取自菜鸟教程)
scp:本地到远程 scp 本地文件 远程用户名@远程ip/域名:远程服务器地址 scp /home/space/music/1.mp3 [email protected]:/home/root/others/music scp /home/space/music/1.mp3 [email protected]:/home/root/others/music/001.mp3 scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music/001.mp3
scp:远程到本地 scp [email protected]:/home/root/others/music /home/space/music/1.mp3 scp -r www.runoob.com:/home/root/others/ /home/space/music/
mysql
登录允许远程连接 mysql -uroot -p GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; FLUSH PRIVILEGES;
Elasticsearch
es:(很多坑需要百度解决) sysctl -w vm.max_map_count=262144 #修改虚拟机允许的内存
su elasticuser (要先创建elasticuser用户,esroot不能启动) ./elasticsearch -d #后台启动
修改hosts
sudo gedit /etc/hosts
图标添加
/usr/share/applications
vim xxx.desktop
[Desktop Entry]
Name=eclipse
Name[zh_CN]=eclipse
Comment=eclipse Client
Exec=/softwares/softwares/eclipse/eclipse
Icon=/softwares/softwares/eclipse/icon.xpm
Terminal=false
Type=Application
Categories=Application;
Encoding=UTF-8
StartupNotify=true
复制代码
nginx
sudo apt install nginx Ubuntu安装之后的文件结构大致为:
所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下 程序文件在/usr/sbin/nginx 日志放在了/var/log/nginx中 并已经在/etc/init.d/下创建了启动脚本nginx 默认的虚拟主机的目录设置在了/var/www/nginx-default (有的版本 默认的虚拟主机的目录设置在了/var/www, 请参考/etc/nginx/sites-available里的配置)
关闭
nginx -s reload
:修改配置后重新加载生效
nginx -s reopen
:重新打开日志文件 nginx -t -c /path/to/nginx.conf
测试nginx配置文件是否正确
关闭nginx: nginx -s stop
:快速停止nginx quit
:完整有序的停止nginx
其他的停止nginx 方式:
ps -ef | grep nginx
kill -9 xxxx
说在后面的话
linux的水还是很深的,当然如果你是运维可能对掌握要求较高,可能还要写shell脚本,但是普通入门者。迫切需要解决的是基础使用。当然,这些内容需要长期学习和总结!希望各位共勉!
欢迎关注我的个人公众号:bigsai