栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Linux操作系统简介及服务配置

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux操作系统简介及服务配置

       操作系统(英语:Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运

        操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,提供了各种形式的用户界面,使用户有一个好的工作环境,为其它软件的开发提供必要的服务和相应的接口。

       操作系统按应用领域划分主要有三种:桌面操作系统、服务器操作系统和嵌入式操作系统

       桌面操作系统主要用于个人计算机上。个人计算机市场从硬件架构上来说主要分为两大阵营,PC机与Mac机,从软件上可主要分为两大类,分别为类Unix操作系统和Windows操作系统

 

微软公司1985年推出的MS-DOS之下的桌面环境,

而后其后续版本逐渐发展成

为个人电脑和服务器用户设计的操作系统,

最终获得了个人电脑操作系统软件的垄断地位。

成为了最受欢迎的个人电脑操作系统

系统面向个人用户,所以操作上会更加便捷

 

 

面向专业计算机技术人员,黑客,专业机构的,

简洁,安全,高效的计算机操作系统

开放、免费的操作系统。

基于Unix操作系统发展而来,也称之为类Unix系统。

•   虚拟机软件

在一台机器上,虚拟了多个硬件设备,

可以在同一台机器上运行两个或多个操作系统。

工作中一般用于做系统测试

•目录

  pwd : 打印系统目录

   cd : 改变目录

   ls : 查看目录中的文件

            -l    列出详细信息

            -a   显示隐藏文件

   mkdir xxx : 创建xxx目录

   mkdir –p  /aaa/bbb/ccc : 创建目录树

   rm –f xxx : 删除文件

   rmdir : 删除目录

   rm –rf xxx : 删除指定目录及子目录

•文件

  mv : 移动

   cp : 复制

  rpm –ivh xxxx.rpm : 打包和安装工具

  tar : 压缩和解压缩

•系统

  kill : 杀掉进程

   reboot  : 重启

   halt : 关机

 

CentOS如何挂载硬盘

 

第一步:列出所有磁盘  命令:  ll /dev/disk/by-path

正在上传…重新上传取消

正在上传…重新上传取消

tmpfs介绍

tmpfs是一种虚拟内存文件系统,而不是块设备。是基于内存的文件系统,创建时不需要使用mkfs等初始化
它最大的特点就是它的存储空间在VM(virtual memory),VM是由linux内核里面的vm子系统管理的。
linux下面VM的大小由RM(Real Memory)和swap组成,RM的大小就是物理内存的大小,而Swap的大小是由自己决定的。
Swap是通过硬盘虚拟出来的内存空间,因此它的读写速度相对RM(Real Memory)要慢许多,当一个进程申请一定数量的内存时,如内核的vm子系统发现没有足够的RM时,就会把RM里面的一些不常用的数据交换到Swap里面,如果需要重新使用这些数据再把它们从Swap交换到RM里面。如果有足够大的物理内存,可以不划分Swap分区。

VM由RM+Swap两部分组成,因此tmpfs最大的存储空间可达(The size of RM + The size of Swap)。 但是对于tmpfs本身而言,它并不知道自己使用的空间是RM还是Swap,这一切都是由内核的vm子系统管理的。
tmpfs默认的大小是RM的一半,假如你的物理内存是1024M,那么tmpfs默认的大小就是512M
一般情况下,是配置的小于物理内存大小的。
tmpfs配置的大小并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有100M文件,那剩余的900M仍然可为其它应用程序所使用,但它所占用的100M内存,是不会被系统回收重新划分的。
当删除tmpfs中文件,tmpfs 文件系统驱动程序会动态地减小文件系统并释放 VM 资源。
#########################

tmpfs的用途

例如:
Oracle 中的Automatic Memory Management特性就使用了/dev/shm。
LINUX中可以把一些程序的临时文件放置在tmpfs中,利用tmpfs比硬盘速度快的特点提升系统性能。

调整tmpfs大小大致有以下三种方法:

1.直接挂载到需要的目录--比如系统的临时目录-可以根据实际需要挂载某个程序的临时文件的目录

[root@bys3 ~]# mount -t tmpfs -o size=20m tmpfs /tmp
[root@bys3 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 16G 10G 4.7G 69% /
/dev/sda1 99M 21M 74M 22% /boot
tmpfs 502M 0 502M 0% /dev/shm
tmpfs 20M 0 20M 0% /tmp
由于没有挂载之前/tmp目录下的文件也许正在被使用,因此挂载之后系统也许有的程序不能正常工作。可以写入/etc/fstab,这样重启后也有效。

2./etc/fstab文件来修改/dev/shm的容量(增加size=100M选项即可),修改后,重新挂载即可:

[root@bys3 ~]# cat /etc/fstab 
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults,size=600M 0 0
tmpfs /tmp tmpfs defaults,size=25M 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda3 swap swap defaults 0 0
/dev/sda5 swap swap defaults 0 0
[root@bys3 ~]# mount -a --测试/etc/fstab无错误,重启OS系统
[oracle@bys3 ~]$ df -h --重启后的信息如下,tmpfs文件系统的对应条目已经改变为配置的
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 16G 10G 4.7G 69% /
/dev/sda1 99M 21M 74M 22% /boot
tmpfs 600M 0 600M 0% /dev/shm
tmpfs 25M 0 25M 0% /tmp

3./dev/shm建一个tmp目前,并与/tmp绑定。 --这方法有点烦琐,不如方法1方便快捷。

[root@bys3 ~]# mkdir /dev/shm/tmp
[root@bys3 ~]# chmod 1777 /dev/shm/tmp
[root@bys3 ~]# mount --bind /dev/shm/tmp /tmp -注意mount --bind 这里bind前是两个-
[root@bys3 ~]# ls -ld /tmp
drwxrwxrwt 2 root root 40 Dec 8 12:15 /tmp
[root@bys3 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 16G 10G 4.7G 69% /
/dev/sda1 99M 21M 74M 22% /boot
tmpfs 600M 0 600M 0% /dev/shm
tmpfs 600M 0 600M 0% /tmp ----可以看到/tmp使用到了 /dev/shm的空间。

 

提示:如果无法确认数据盘设备名称,请使用df命令来确认系统盘的名称,从而排除挂错盘的情况。

第二步:格式化硬盘      命令:  fdisk /dev/vdb

 常见的硬盘一般分为三类。IDE硬盘,SCSI硬盘和SATA硬盘。通常我们电脑上的硬盘都是IDE和SATA,而服务器一般用SCSI硬盘。SCSI的硬盘接口设备叫sd,第一块硬盘就是sda,第二块硬盘是sdb...以此类推。Linux规定,一块硬盘上最多存在四个主分区。命名方式分别是sd1,sd2,sd3,sd4。而逻辑分区从sd5开始,没有数量限制,命名方式为sd5,sd6...sd无穷大。主分区可以简单的理解为windows下的C盘,也就是系统分区,是引导操作系统必要的分区。而逻辑分区可以简单的理解为windows下的CDE盘等等。

      说完硬盘分区,我们再回头说一下目录,很多朋友一键安装完linux系统,看着种类繁多的目录可能头疼异常,每个目录看起来都不明觉厉的样子。下面我们就简单的看一下Linux系统的主要目录及其内容。常见的目录有,

     /bin        ##存放系统的核心最常用的命令

     /boot      ##内核与启动文件

     /dev       ##各种设备文件

     /etc        ##系统软件的配置文件

     /home   ##用户的主目录,比如你新建一个用户zhang,home下一般自动生成zhang目录,用来记录zhang的一些操作和内容

     /lib         ## C编译器的库

     /root      ##超级用户root的目录

     /proc     ##进程的映像 

     /tmp      ##临时文件存放点

     /usr       ##非系统的程序和命令

     /var       ##数据目录,一般数据库文件也存放在此目录下

正在上传…重新上传取消

注意:图中箭头标注处续手动键入

第三步:创建分区        命令:  mkfs.ext3 /dev/vdb1

正在上传…重新上传取消

第四步:挂载分区        命令:  mkdir /data

mount /dev/vdb1 /data    # 将sdb这个硬盘挂载成为/data

正在上传…重新上传取消

第五步:将信息写入fstab,让系统开启自动挂载。

 命令:  echo "/dev/sdb1              /data                  ext3    defaults        0 0" >> /etc/fstab

正在上传…重新上传取消

 

 

Percona Server 5.6 Install (基于RPM包)

分类: Mysql/postgreSQL

       MySQL的安装方式一般分三种:基于RPM包安装,基于二进制包安装,基于源代码安装。不同的安装方式,

所有的知识面不一样。其实基于RPM包安装方便快捷,目录结构固定。因此,对于一般使用来说已足够。

1.安装RPM包

 

[root@localhost PerconaServerRPM]# rpm -ivh Percona-Server-shared-56-5.6.28-rel76.1.el6.x86_64.rpm 

[root@localhost PerconaServerRPM]# rpm -ivh Percona-Server-client-56-5.6.28-rel76.1.el6.x86_64.rpm 

[root@localhost PerconaServerRPM]# rpm -ivh Percona-Server-server-56-5.6.28-rel76.1.el6.x86_64.rpm

 

 

编辑配置my.cnf文件

#vim  /etc/my.cnf

注:文件中涉及到的路径需求手动创建

 

 

Java jdk

 

[root@linux1 ~]# rpm -qa | grep java

tzdata-java-2016c-1.el6.noarch

java-1.6.0-openjdk-1.6.0.38-1.13.10.4.el6.x86_64

java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64

卸载系统自带的java

[root@linux3 ~]# rpm -qa | grep java | xargs rpm -e --nodeps

查看卸载结果

[root@linux3 ~]# java -version

bash: /usr/bin/java: No such file or directory

卸载成功

 

jdk-7u79-linux-x64.rpm

第一种方法:rpm包安装

rpm包导入用户root目录下

[root@linux2 ~]# ls

anaconda-ks.cfg  id_dsa.pub  install.log  install.log.syslog 

jdk-7u79-linux-x64.rpm

赋予权限

[root@linux2 ~]# chmod 755 jdk-7u79-linux-x64.rpm

安装

[root@linux2 ~]# rpm -ivh jdk-7u79-linux-x64.rpm

Preparing...                ########################################### [100%]

1:jdk                    ########################################### [100%]

Unpacking JAR files...

rt.jar...

jsse.jar...

charsets.jar...

tools.jar...

localedata.jar...

jfxrt.jar...

安装完成

 

设置环境变量

[root@localhost java]# vi /etc/profile

在打开的profile文件中添加如下内容

JAVA_HOME=/usr/java/jdk1.7.0_80

CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

PATH=$PATH:$JAVA_HOME/bin

export JAVA_HOME

export PATH

export CLASSPATH

 

让修改生效

[root@localhost java]# source /etc/profile

 

 

 

最后检测一下已经安装的jdk

[root@linux3 java]# java -version

java version "1.7.0_79"

 

 

Linux在centos6.8上安装gcc

 

  •  

打开命令行

  •  

  

  •  
  •  

输入gcc -v,然后输入命令安装

  •  

  

  •  
  •  

如果提示command not found 证明没有安装

  •  

  

  •  
  •  

然后输入 yum install gcc  进行安装gcc(注意:其中会有提示yes/no的操作,一定要看清没有报错就y,连续两次y ,最后提示Complete!成功)

  •  

  

  •  

  

  •  
  •  

看到安装后的字样complete

  •  

  

  •  
  •  

然后输入gcc -v

  •  

输出目标target等信息就成功了

  •  

........

  •  

........

  •  

........

  •  

gcc version 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)

  •  

  

  •  

 

 

linux下centOS系统让tomcat以service方式运行

原创 2015年12月03日 17:10:27

  • 标签:
  • linux /
  • service /
  • tomcat /
  • centos
  • 4219

1. 在/etc/init.d目录下新建文件,命名为tomcat
2. 对tomcat文件进行编辑,执行

 # cd /etc/init.d/

 # vi tomcat

将下面代码粘上去

 

#!/bin/sh

 

# chkconfig: 2345 20 80

# description: simple example to start tomcat

 

JAVA_HOME=/usr/java/jdk1.7.0_80

CATALINA_HOME=/usr/local/tomcat1

CATALINA_OPTS="-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8 -Xms1024m -Xmx3072m -XX:PermSize=256m -XX:MaxPermSize=512m"

RETVAL=0

prog="tomcat1"

 

 

# Licensed to the Apache Software Foundation (ASF) under one or more

# contributor license agreements.  See the NOTICE file distributed with

# this work for additional information regarding copyright ownership.

# The ASF licenses this file to You under the Apache License, Version 2.0

# (the "License"); you may not use this file except in compliance with

# the License.  You may obtain a copy of the License at

#

#     http://www.apache.org/licenses/LICENSE-2.0

#

# Unless required by applicable law or agreed to in writing, software

# distributed under the License is distributed on an "AS IS" BASIS,

# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

# See the License for the specific language governing permissions and

# limitations under the License.

3. 按ESC退出,并#:wq
4. 设置tomcat的文件属性,把tomcat 修改为可运行的文件,命令参考如下

#chmod a+x tomcat

5. 设置服务运行级别

#chkconfig --add tomcat

6. 服务就添加成功了

然后用 chkconfig --list 查看,在服务列表里就会出现自定义的服务了

# chkconfig --list

7. 测试

service tomcat start

service tomcat stop

service tomcat restart

service tomcat status

 

 

Tomcat 学习笔记(2) - 使用 jsvc 启动tomcat
  • jsvc

 

  • java

 

  • tomcat

jsvc 是个什么是么高端武器呢
全称:Java Service
还是没有弄明白是什么,那就继续往下看。

我们赞不讨论 tomcat 应不应该运行在80端口上。
假如我们有需求,需要 tomcat 运行在 80 端口上。
那么一个限制就出现了。*nix操作系统只用root权限才能监听1024已下的端口。
虽然我们可以让 tomcat 启动后 以 tomcat用户的权限工作。这样安全性就可以得到保障。

但是还有更强的方案。他就是 jsvc 当然 jsvc 可不仅仅就这么一点功能。
我们通过 jsvc 可以很简单的 封装我们自己的 启动脚本,
还可以 随意制定 tomcat 运行用户和组,还可以指定 jvm 的运行参数例如内存控制,语言,字符编码。
我们还可以指定 tomcat 启动是的 pidfile 总之我们可以更精细的控制tomcat的运行方式。比原始脚本拥有无法比拟的优势。

既然 jsvc 的有点有那么多。那到底怎么做呢。

jsvc是一套用c编写的程序,是tomcat发行版自带的一套代码。是Jakarta Commons Daemon 工程的一个复制品。只有该版本的jsvc是绑定到tomcat二进制发行版中。这意味着它要与该版本的Tomcat一同使用。

在 tomcat 8.0 版本中 jsvc 的源代码包 tomcat/bin/commons-daemon-native.tar.gz

我们找到该tar包,准备编译成二进制文件

$ tar -zxvf commons-daemon-native.tar.gz
$ cd commons-daemon-1.0.15-native-src
$ ./configure --with-java=$JAVA_HOME$ make

编译完成以后,会产生一个jsvc的二进制可执行文件

$ ./jsvc --help
Usage: jsvc [-options] class [args...]
 
Where options include:
 
    -help | --help | -?        show this help page (implies -nodetach)
    -jvm         use a specific Java Virtual Machine. Available JVMs:
            'server'
    -client        use a client Java Virtual Machine.
    -nodetach        don't detach from parent process and become a daemon
    -debug        verbosely print debugging information
    -check        only check service (implies -nodetach)
    -user         user used to run the daemon (defaults to current user)
    -verbose[:class|gc|jni]        enable verbose output
    -cwd         set working directory to given location (defaults to /)
    ........
    ........
jsvc (Apache Commons Daemon) 1.0.15-dev
Copyright (c) 1999-2013 Apache Software Foundation.

相信看到 现象以后大家大概已猜出jsvc到底是干什么的了。对他就是tomcat的守护进程管理工具

怎么使用呢?

如果你的 tomcat 还在运行那么他大概会是这样的

$ ps auwx | grep java/usr/bin/java  -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
 

我们想换做 jsvc 管理的话,只需要将 java 换成jsvc就可以了

$ ./jsvc -user tomcat -pidfile /var/run/jsvc.pid -Djvm=tomcat -Xmx50M  -Xms50M -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat/endorsed -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start

我指定了 tomcat 运行的用户身份是tomcat用户指定了pidfile在/var/run/jsvc.pid同时限制了tomcat运行的内存限制

小伙伴们看到这儿了。就不用我多说了。有了 jsvc tomcat 控制tomcat就完全不在话下了。

可能小伙伴么已经发现了 jsvc 的 -stop 选项。对的,jsvc 可以关闭tomcat.也很简单

$ ./jsvc -stop -pidfile /var/run/jsvc.pid org.apache.catalina.startup.Bootstrap stop

有趣的是 最后的 stop 不加 也可以正常停止 tomcat

你可以这么理解。应为我们使用了jsvc -stop 选项 关闭 tomcat,此时完全不需要再多余指定一个 stop 参数了。

到这里 小伙伴们 应该 对tomcat更有把握了。

 

Linux忘记 root密码的解决办法?这种情况虽然不是很常见,但是有些粗心的管理员长时间没有登录系统,还真会忘记密码。这时候,如果是远程管理,那就真没辙了。如果linux主机就在你身边,那还是有救的。只要你按以下步骤来操作:

解决方法
  •  

重启系统后出现GRUB界面在引导装载程序菜单上,用上下方向键选择你忘记密码的那个系统键入“e” 来进入编辑模式。

  •  

正在上传…重新上传取消

  •  
  •  

接下来你可以看到如下图所示的画面,然后你再用上下键选择最新的内核(这里是第二行,kernel.......),然后继续按“e”键。

  •  

正在上传…重新上传取消

  •  
  •  

然后在编辑界面rhgb quiet后面加“空格”,然后键入“single”,或者直接输入数字的“1”并回车确定。

  •  

正在上传…重新上传取消

  •  
  •  

回车后,按“b”键启动进入单用户模式,在这里修改root的密码。

  •  

正在上传…重新上传取消

  •  
  •  

这样重启之后root密码就已经被修改了!

  •  

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/846141.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号