部署服务器需要用到的命令,记录一下,有需要的也可以看看:
1、一个新的服务器需要先检查一下服务器的内存、磁盘、核数、网络这些的(我暂时用到的是这几个)
top: 查看进程,在此基础上再按1即可查看:linux核数 + 内存
查看磁盘: df -lh
查看目录占用大小:du -lh
至于网络:ping tech.meituan.com,要是不能访问外网就傻了(排除内网环境的情况)
ifconfig:查看当前ip地址
还有就是,有些挂载的磁盘在 /dev/vdb 目录,需要格式化挂载到/data目录下,可参考上一篇博文:
http://study121007.iteye.com/blog/2297693 ,
此处可能还会用到:ln -s 源目录 目标目录。为 /dev/vdb 创建一个软连接,说白了就是创建一个快捷
方式,当在源目录下做修改时,则目标目录下也会相应的被修改。
2、安装JDK(1.8)
将jdk压缩包存放到 /usr/local/目录下解压,有时候还需要修改jdk目录下的文件权限:
chmod -R 777 start*:批量修改以start开头的文件权限
( 因为不修改权限,系统仍会使用默认的jdk版本1.7 )
再配置一下环境变量( /etc/profile )
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
退出保存好之后执行:source /etc/profile 编译一下文件让修改生效
3、文件解压缩
tar压缩:tar -zcvf file.tar.zip file
解压tar:tar -zxvf file.tar.zip
解压zip:unzip xxx.zip
解压war:jar -xvf xxx.war
4、安装Nginx(后续再详细介绍Nginx)
可访问外网时就在线安装的,yum install nginx
在CentOS6上,有的可能直接yum还不行,需要下载一下资源:
rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/
nginx-release-centos-6-0.el6.ngx.noarch.rpm
安装好之后,进如 /etc/nginx/conf.d/default.conf 修改一下配置信息(此处简单展示一下):
server {
listen 80;
server_name localhost;
location /[此处为应用名称,若不写则为当前域名的根目录] {
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
.......
}
(若应用名称为search,则当访问www.xxx.com/search的时候nginx 80端口实际是转发到
127.0.0.1:8080/search应用上,也就是说最终跳转的路径为 proxy_pass + 应用名称)
手动安装的可自己配置环境变量:(yum在线安装的目录为:/etc/nginx)
export NGINX_HOME=/usr/local/nginx (这是手动安装时的目录)
export PATH=$NGINX_HOME/sbin:$PATH
ulimit -HSn 65535 顺便配置一下可供打开的最大文件数
(顺便多说一句之前有碰到过的一个问题,前端做网站的公司没做缓存,网站访问量又很大,大量的调用我
们的接口,导致一直抛”打开的文件数过多“错误,日志也一直记载,导致几天下来日志文件夹大小达到49G
占用了太多的空间,整个应用服务就死掉了。之前有考虑的解决方案:使用ehcache来做缓存 + nginx的
缓存,但效果不是很好还是有死机的情况,后来就没用了。之后解决方案是:让他们加上缓存)
service nginx configtest:检查nginx是否配置成功,新的服务器一般都不支持service命令了,而是systemctl
service nginx restart:重启nginx(这是支持service命令的服务器),至于不支持的可使用如下:
启动:nginx
重启:nginx -s reload
其他详细命令使用nginx -h查看帮助里面有更多的介绍,如下
手动安装nginx时有时候会缺少编译环境: yum install gcc gcc-c++ ncurses-devel perl
出现nginx: [emerg] getpwnam(“nginx”) failed时,在nginx.conf中 把user nobody的注释去掉既可
5、安装Jetty,有的也安装Tomcat,方法都差不多
下载好Jetty安装包,上传到服务器自己的指定的目录下(如:/opt下),解压,进入bin目录,
执行:./jetty.sh start 启动 ./jetty.sh stop 停止
6、当不同应用或同一应用部署在多台机器上时还需要开放端口
/etc/sysconfig/iptables (开放端口:如下的22端口)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
(多台机器时,若从机器A访问机器B中的应用,因为走的nginx代理,所以不要忘了开放机器B的80端口)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -dport 6000:6500 -j ACCEPT (开放一段端口)
service iptables restart 重启防火墙
手动安装iptables: yum install iptables-services
修改配置:vi /etc/sysconfig/iptables
重启:systemctl restart iptables.service
设置开机自动启动:systemctl enable iptables.service
7、应用当然少不了数据库,此处使用的是mongodb
我就不详细介绍了,参考http://blog.csdn.net/yuwenruli/article/details/8529192
以及数据库的备份和还原,参考http://y-zjx.iteye.com/blog/1310380
需要注意的是,必须创建logs目录,没建这个目录,会导致数据库启动的时候不成功。
一个新的mongo数据库,为其设置管理员:
/bin/mongo localhost:8888
use admin
db.createUser({user:'xxxxx',pwd:'yyyyy-=',roles:['root']})
使用用户名和密码登陆Mongo
/bin/mongo -u xxxxx -p yyyyy --authenticationDatabase admin localhost:8888
8、查看日志文件
tail -f -n200 /log/2016-05-12log.txt 查看当前日志的前200行
9、进程相关
查看端口:netstat -nltp
查看PID:ps -ef|grep jetty
杀死进程:kill 218882
10、时间问题 <http://codingstandards.iteye.com/blog/1157513>
date -R 查看时间
11、Linux java性能监视
> jconsole (打开控制面板,选择相应的进程连接进去即可,类似于windows中的任务管理器)
有的需要自己安装此命令。
另查看系统版本:cat /etc/issue
12、SCP
(1)从远处复制文件到本地目录。若复制文件夹,参数需要设置-r
scp [参数] root@172.20.1.6:/opt/app/jettys/robot/webapps/ss.tar.gz ./
(2)上传本地文件到远程机器指定目录。同样若复制文件夹,参数需要设置-r
scp [参数] ./ss.tar.gz root@172.20.1.6:/opt/app/jettys/robot/webapps
13、linux中根据PID来查找文件路径
lsof -p PID 即列出指定进程号所打开的文件。
(1)先查看进程信息:top
(2)可以直接在docker父容器中可以使用sudo lsof -p PID 来查看该进程所对应的文件信息。
也可登录到子容器中,cd /proc/PID,进入到该PID进程文件夹中,ls -ail来查看对应信息。
(另外,docker中也可通过docker top Name/ID来查看该容器中的进程信息)
14、查找文件
which 查看可执行文件的位置。
whereis 查看文件的位置。
locate 配合数据库查看文件位置。
find 实际搜寻硬盘查询文件名称。
格式: which 可执行文件名称 ,如 which java
(附:阿里云开源镜像:http://mirrors.aliyun.com/)
(会一直更新此文档)
更多linux可阅读这位大神的系列文章:http://www.cnblogs.com/peida/tag/%E6%AF%8F%E6%97%A5%E4%B8%80linux%E5%91%BD%E4%BB%A4/
- 大小: 147.4 KB
- 大小: 21 KB
- 大小: 35.4 KB
- 大小: 53 KB
分享到:
相关推荐
Linux 操作系统实验报告-常用 Linux 命令 gcc Linux 操作系统实验报告-常用 Linux 命令 gcc 是一篇关于 Linux 操作系统的实验报告,主要涵盖了常用 Linux 命令和 gcc 编辑的 C 程序源代码。该实验报告的目的是通过 ...
可以记录常用的linux命令,特别是比较长的,非常有用。使用方法:把该Q可执行文件考备份到linux上,任何目录都行,第一次执行用./q的方式执行,第一次执行之后q程序会被加到系统目录,以后每次执行都可以像使用系统...
本文将基于“150个常用Linux命令”的内容,详细介绍其中的关键知识点,特别是那些对于初学者而言至关重要的命令。 #### 一、帮助与查询命令 **help** 此命令用于查看Shell内置命令的帮助信息。例如: ``` help ...
### Linux常用命令精讲 #### 登录与退出 在Linux环境中,系统启动后,首先进入的是登录界面,用户需要通过`login`命令输入用户名和密码进行登录。正确的用户名和密码验证后,用户将被引导至Linux的命令行界面,即...
在Linux操作系统中,掌握一些基本...这些只是Linux命令海洋中的一部分,通过不断实践和学习,你可以逐渐成为一个Linux高手。记住,Linux的世界是开放的,充满了无限可能,只要勇于探索,你一定能在这个系统中游刃有余。
Linux操作系统以其开源、稳定和强大的特性,被广泛应用于服务器、云计算和嵌入式系统等领域。对于运维人员来说,熟练掌握Linux命令行操作是至关重要的。...这份“Linux常用命令大全”是学习和查询Linux命令的宝贵资源。
本图为本人整理的linux常用命令脑图,主要包括常用的一些命令,基本上日常工作中足够使用。
`history`命令可以显示你之前输入过的命令记录。 17. **ifconfig**:网络配置。在某些Linux发行版中,`ip`命令已替代`ifconfig`,但`ifconfig`仍可用于查看和配置网络接口。 18. **ping**:网络连接测试。`ping`...
本文将深入探讨“Linux常用命令全集”,旨在帮助初学者和经验丰富的用户更好地理解和掌握Linux命令行的基本操作。 1. 文件与目录操作: - `ls`:列出目录内容,通过`-l`选项可以显示详细信息。 - `cd`:改变当前...
### Linux常用命令详解 #### 一、登录与用户管理 **1. login** - **功能描述**:`login` 命令用于用户登录到 Linux 系统。 - **基本语法**:`login [选项]` - `[name]` 指定用户名。 - `[p]` 如果指定了该选项...
`history` 命令显示之前输入过的命令记录。 20. **jobs** 和 **fg/bg** - 控制后台进程 `jobs` 列出当前终端的后台进程,`fg %jobnumber` 将指定的后台进程调至前台,`bg %jobnumber` 将其放回后台继续运行。 ...
本文将深入探讨“Linux常用C函数”和“Linux命令大全”这两个主题,以帮助你提升在这两个领域的专业技能。 首先,让我们来谈谈“Linux常用C函数”。C语言是一种强大的、低级别的编程语言,广泛用于系统编程、嵌入式...
下面我们将详细探讨一些重要的Linux命令。 1. **ls**:用于列出目录内容。通过不同的参数,如`-l`显示详细信息,`-a`显示所有文件包括隐藏文件,`-h`以人类可读的方式显示文件大小。 2. **cd**:改变当前工作目录...
以下是一些核心的Linux命令,这些命令涵盖了日常系统管理、文件操作、进程控制、网络诊断等多个方面。 1. **ls**:列出目录内容。通过`ls -l`可以查看详细信息,`ls -a`显示所有文件包括隐藏文件。 2. **cd**:...
linux常用命令的xmind,不知道怎么可以免费共享大家 作为自己的记录。
### Linux常用网络命令详解 #### 一、网络参数设定指令 **1. ifconfig** - **功能**: 用于设定或查询网络接口的配置。 - **语法**: - `ifconfig [interface]` - `ifconfig [interface] [options]` - **参数**: ...
对于初学者来说,掌握一些基础且常用的Linux命令至关重要。本文将详细介绍《Linux必学的60个命令》中提及的部分命令,并对这些命令的使用场景和技巧进行深入探讨。 #### 二、命令分类概览 根据其在系统中的作用,...