前言
在入门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.shkill -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 root@125.124.143.31
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 root@www.runoob.com:/home/root/others/music
scp /home/space/music/1.mp3 root@www.runoob.com:/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 root@www.runoob.com:/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
:快速停止nginxquit
:完整有序的停止nginx
其他的停止nginx 方式:
ps -ef | grep nginx
kill -9 xxxx
说在后面的话
linux的水还是很深的,指令远不止这些,参数也不止这些。但是这些是笔者日常记下的分享出来。当然如果你是运维可能对掌握要求较高,可能还要写shell脚本,但是普通入门者。迫切需要解决的是基础使用。当然,这些内容需要长期学习和总结!希望各位共勉!