Linux常用命令与服务器运维,网站发布与维护

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 作为一个程序员,除了会开发项目,还需要懂得发布,并且需要懂得网站日常安全的防护,以及服务器日常维护。如果你们有自己的网站,希望本文对你们有用。网站的发布与运维都是基于服务器的,而我们使用的服务器大多数都是Linux系统。

作为一个程序员,除了会开发项目,还需要懂得发布,并且需要懂得网站日常安全的防护,以及服务器日常维护。如果你们有自己的网站,希望本文对你们有用。
网站的发布与运维都是基于服务器的,而我们使用的服务器大多数都是Linux系统。对于Linux系统主要是以命令为主,但是命令是在太多,不是专业人员几乎记不住,所以我们不需要全部都懂,我们只要知道基本的一些常用命令就足够运用了,好了不多说,现在列出一些我们常用到的命令。

基本命令:

创建文件夹
mkdir 文件夹名称

创建文件
touch /文件夹/test.log

编辑文件
vi 或 vim /文件夹/test.log
按 i 键

查看文件内容的命令:

cat     由第一行开始显示内容,并将所有内容输出

tac     从最后一行倒序显示内容,并将所有内容输出

more    根据窗口大小,一页一页的现实文件内容

less    和more类似,但其优点可以往前翻页,而且进行可以搜索字符

head    只显示头几行

tail    只显示最后几行

nl      类似于cat -n,显示时输出行号

tailf   类似于tail -f 

编辑文件命令
vim 与vi 

覆盖文件内容
echo "内容" >文件
> 是重写,覆盖式
>>是尾部追加


退出编辑状态
按Esc键

退出文件
按Shift + : 键
输入q

保存并退出文件
按Shift + : 键
输入wq

把文件设置为可执行
chmod -R +x /xxx.sh

删除文件
rm ./xxx.txt

强制删除文件
rm -rf ./xxx.txt

查看文件内容
cat ./xxx.txt

查看文件内容并显示行号
cat -n ./xxx.txt

实时查看日记记录文件(*.log、*.out等)
tail -f /tomcat/logs/catalina.out

查看所在目录
pwd

安装软件
yum install 插件

下载文件
wget 文件地址

压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg 
tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz 
tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2 
tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z 
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux 
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

解压
tar –xvf file.tar //解压 tar包 
tar -xzvf file.tar.gz //解压tar.gz 
tar -xjvf file.tar.bz2 //解压 tar.bz2 
tar –xZvf file.tar.Z //解压tar.Z 
unrar e file.rar //解压rar 
unzip file.zip //解压zip 

Linux下*.tar.gz文件解压缩命令

1.压缩命令:

命令格式:tar -zcvf 压缩文件名.tar.gz 被压缩文件名

可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。

2.解压缩命令:

命令格式:tar -zxvf 压缩文件名.tar.gz

解压缩后的文件只能放在当前的目录。

你可以使用 zip 命令同时处理多个文件和目录,方法是将它们逐一列出,并用空格间隔:

zip -r filename.zip file1 file2 file3 /usr/work/school 
  

压缩单个目录命令zip -r filename.zip filename

上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中。

运维命令:

查看内存使用情况
free -m 
或者
free -g

查询硬盘挂载路径
fdisk -l

挂载硬盘
mount 路径

查看硬盘挂载情况
df -h

查看进程
top 或 top -c 或 top -p 等等
对进程进行排序(按消耗内存大小)
Shift + m

将某个程序或进程详细展现出来
ps -ef | grep mysql*

命令拆解:

ps:将某个进程显示出来
-A  显示所有程序。 
-e  此参数的效果和指定"A"参数相同。
-f  显示UID,PPIP,C与STIME栏位。 
grep命令是查找
中间的|是管道命令 是指ps命令与grep同时执行
这条命令的意思是显示有关Apachejetspeed有关的进程


UID PID PPID C STIME TTY TIME CMD
各相关信息的意义:

UID: 程序被该 UID 所拥有

PID :就是这个程序的 ID

PPID :则是其上级父程序的ID

C: CPU 使用的资源百分比

STIME :系统启动时间

TTY: 登入者的终端机位置

TIME: 使用掉的 CPU 时间

CMD :所下达的指令为何


对进程进行停止
kill 进程名(如:mysql)

强制停止进程
kill -9 进程Pid(如:1234)

查看内核版本
uname -a

查看Linux防火墙
iptables -L -n

检查是否已安装crond(定时器)
rpm -qa|grep cron
或service crond status

安装crond
rpm -ivh vixie-cron-4.1-72.el5.i386.rpm


查看定时任务
service crond status
启动定时任务
service crond start
停止定时任务
service crond stop
重启定时任务
service crond restart
重新加载定时任务配置
service crond reload

添加mongodb定时备份脚本( 每天晚上6点开始)
crontab -e
i
输入
0 18 * * * /home/mongo_bak.sh


运行sync将dirty的内容写回硬盘

Linux手动释放内存
echo 1 > /proc/sys/vm/drop_caches

drop_caches的值可以是0-3之间的数字,代表不同的含义:
0:不释放(系统默认值)
1:释放页缓存
2:释放dentries和inodes
3:释放所有缓存

释放完内存后改回去让系统重新自动分配内存
echo 0 >/proc/sys/vm/drop_caches

网站简单启动命令:

1、redis启动
/usr/local/bin/redis-server /usr/local/redis-3.0.7/redis.conf

2、mysql启动
service mysql start

3、mongodb停止
/usr/local/mongodb-2.6.11/bin/mongod --config /usr/local/mongodb-2.6.11/mongo.conf --shutdown
4、mongodb启动
/usr/local/mongodb-2.6.11/bin/mongod -f /usr/local/mongodb-2.6.11/mongo.conf

5、tomcat启动
sh /usr/local/tomcat/bin/startup.sh

6、nginx启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

以上都是一些基本的命令操作,详情需要具体再做分析,往后会写一些关于开发的以及框架方面的文章,希望对大家有用!

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
8天前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
28 2
|
5天前
|
运维 监控 网络协议
|
6天前
|
监控 Linux Shell
|
9天前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
25 5
Linux系统之安装Ward服务器监控工具
|
1天前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
23 3
|
4天前
|
存储 安全 关系型数据库
Linux系统在服务器领域的应用与优势###
本文深入探讨了Linux操作系统在服务器领域的广泛应用及其显著优势。通过分析其开源性、安全性、稳定性和高效性,揭示了为何Linux成为众多企业和开发者的首选服务器操作系统。文章还列举了Linux在服务器管理、性能优化和社区支持等方面的具体优势,为读者提供了全面而深入的理解。 ###
|
7天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
82 2
|
11天前
|
运维 负载均衡 安全
自动化运维:使用Ansible进行服务器配置管理
【10月更文挑战第15天】在本文中,我们将探讨如何利用Ansible这一强大的自动化工具来简化和加速服务器的配置管理工作。通过实际案例和代码示例,我们将展示Ansible如何帮助运维人员高效地进行软件部署、系统更新和日常维护任务,从而提升工作效率并减少人为错误。
|
17天前
|
监控 安全 Java
linux服务器上启动framework应用程序流程
【10月更文挑战第17天】在Linux服务器上启动Framework应用程序需经过准备工作、部署、启动、监控及访问五个步骤。首先确保服务器满足系统要求并安装依赖项;接着上传应用文件,编译构建,配置参数;然后通过脚本、命令行或系统服务启动应用;启动后检查日志,监控性能;最后确认访问地址,验证应用运行状态。具体操作应参照应用文档。
|
17天前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
24 1