开发完项目一般都部署在 机房或云平台 的Linux服务器上.
平时用可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的.
Window系统上 Linux 远程登录客户端有SecureCRT, Putty, SSH Secure Shell,Xshell等
目录
Linux系统
/bin:
bin是Binary的缩写, 这个目录存放着最经常使用的命令,如 ls cd ......。/dev :
dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。/etc:
这个目录用来存放所有的系统管理所需要的配置文件和子目录。/var:
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
重启 reboot
环境配置
一个纯净的Linux系统要部署java项目,首先需要配置Linux系统环境, 然后安装必要的服务软件
操作系统配置(host、hostname、network、Selinux、内核参数、limits、认证模式、用户最大线程数、防火墙策略、用户环境变量、JDK版本)
centos7以上防火墙配置
systemctl命令 = service+chkconfig
firewalld.service防火墙服务
systemctl stop firewalld.service 停止服务
systemctl disable firewalld.service 不自启服务
systemctl status firewalld.service 检查服务状态
systemctl is-enabled firewalld.service 检查是否启用
/etc/profile 系统环境变量,公有配置文件 : JAVA_HOME CLASSPATH PATH
vi .bash_profile 编辑环境变量
. .bash_profile 生效
/etc/sysctl.conf TCP/IP堆栈,虚拟内存配置
/sbin/sysctl -p 立刻编辑生效
ulimit命令 控制shell程序的资源
-a 显示资源限制
/etc/security/limits.conf 限制用户最大文件数,最大线程,最大内存,CPU等资源限制
/etc/security/limits.d/20-nproc.conf 用户进程限制,部分操作系统无此文件
/etc/hosts 配置域名和IP对应关系
/etc/sysconfig/network 配置主机名和网关
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/selinux/config SELinux 安全策略
关闭 SELINUX=disabled
/etc/passwd 用户信息
/etc/shadow 用户密码
/etc/group 用户组
安装ftp
用来我们把本地的文件传输到服务器上,或者从服务器上下载文件用的
安装Java
yum -y install java-1.8.0-openjdk.x86_64
安装数据库
Oracle/mysql/... ...
安装web应用服务
weblogin/tomcat/... ...
拷贝项目到web服务器
普通j2ee项目直接拷贝到服务器部署。
maven项目无法直接部署到tomcat上去。 一般说来是先通过maven生成对应的war 文件,然后再把war文件部署到tomcat上去。
后台启动服务
登录Linux终端
#1.普通方式启动jar包
java -jvm启动参数 -jar xxxxx.jar
#终端退出时会发送hangup (挂断)信号,挂断程序
#2.后台启动 (关闭终端后正常运行)
# nohub 不挂断的运行命令,忽略所有挂断信号
# & 后台进程符,在程序末尾加&让程序在后台运行
nohup java -jvm启动参数 -jar xxxxx.jar &
#3.写成.sh脚本启动
nohup ./xxxxx.sh >/dev/null 2>&1 &
定时任务
crontab命令用于设置周期性被执行的指令
#查看定时任务
crontab -l
#编辑定时任务, 保存退出后系统会自动就存放于/var/spool/cron/目录中,文件以用户名命名
crontab -e
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
minute hour day month week command
分 时 日 月 周 命令
星号(*):代表每的意思,例如month字段如果是星号,则表示每月都执行该命令操作。
逗号(,):表示分隔时段,例如,“1,3,5,7,9”。
中杠(-):表示一个时间范围,例如“2-6”表示“2,3,4,5,6”。
正斜线(/):指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
cron日志 /var/log/cron
#查看状态
service crond status
service crond start
service crond stop
service crond restart
单独可以执行, 定时任务不执行原因:
- 路径找不到 (用绝对路径)
- 环境变量找不到 (在crontab中加)