Linux总结:





以前只顾着撸码,Linux这些一般都是运维玩的,然后也没怎么折腾过,每次上线也都只是发布下,最多也就是启停服务器。最近闲来无事就玩了玩Linux,还挺好的。

这里做一个总结来结束Linux系列,后面还有好多事情,废话不多说了,这里来总结下。





首先推荐下Linux的权威资料,鸟哥的私房菜,一共有2本,基础篇我大概的看了看,内容是有点多的,比较啰嗦,不过讲的挺好,适合要全心全意去学Linux的人。





Linux毕竟是一个操作系统,如果说专门去玩的话也真的是有好多折腾的,对于一个开发来说其实最常用的了解那些常用的Linux指令,这样子也可以在运维不在场的情况下,自己完成一些关于发布的一些基本问题。

1,关于Linux指令也有好多,我前面博客也主要是整理这些指令,主要的那些Linux我也统一整理了一份,以后随时翻阅就够了。关于每一个指令详细的信息,自己找一个man男人就差不多了。

2,关于Linux一些目录结构自己也基本熟悉了,我一直觉得要玩一个东西一定要认真,知其所以然,这样子才能算会玩一个东西。当然有时候人的精力是有限的,以前我一直就想玩一玩ios,当然身边玩ios的朋友

也挺多的,但是服务器这么多东西自己都没玩会,所以也就只能放弃了。那么有些东西我们大概知道,那么这个时候就要在取舍这个东西,研究这个东西的时候抓住重点。玩Linux当然要知道一些主要的目录结构啦,

要会敲一些常用的Linux指令啦,完成一些基本的运维的这些知识等等。

3,最后自己买了一台Linux服务器,阿里云上买了一年,然后关于从头架设一套运维环境还是有点折腾的。这里来从头到位自己整理一下。





Linux上安装Java:

安装系统环境是: centos6.5 64位 





一.安装jdk





1.下载java文件jdk-6u45-linux-x64.bin

2.运行./jdk-6u45-linux-x64.bin

3.移动该文件到/usr/local/jdk目录下

mv jdk-6u45-linux-x64 /usr/local/jdk

4.配置java环境变量,在文件/etc/profile最后添加以下内容:

#set java

JAVA_HOME=/usr/local/jdk;export JAVA_HOME

JRE_HOME=/usr/local/jdk/jre;export JRE_HOME

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin;export PATH

export CLASSPATH=$CLASSPATH:$PATH:$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:.

5.source /etc/profile (重新激活)  

6.运行java -version查看是否成功









二.安装tomcat





1.下载tomcat文件:apache-tomcat-7.0.47.tar.gz

2.解压tar -zxvf apache-tomcat-7.0.47.tar.gz

3.移动该文件到/usr/local下,并命名为tomcat

mv apache-tomcat-7.0.47 /usr/local/tomcat

4.到tomcat/bin目录下setclasspath.sh文件中设置java环境,加入以下两行即可:

export JAVA_HOME=/usr/local/jdk

export JRE_HOME=/usr/local/jdk/jre

5.设置tomcat 服务启动

把下面内容保存到/etc/init.d/目录,文件名为tomcat

#!/bin/bash

# /etc/rc.d/init.d/tomcat

# init script for tomcat precesses

#

# processname: tomcat by ton

# description: tomcat is a j2se server

# chkconfig: 2345 86 16

# description: Start up the Tomcat servlet engine.





set -m (有时不加这个,secureFX会话失效时,会导致tomcat自动stop)

CATALINA_HOME="/usr/local/tomcat"

if [ -f /etc/init.d/functions ]; then

  . /etc/init.d/functions

elif [ -f /etc/rc.d/init.d/functions ]; then

  . /etc/rc.d/init.d/functions

else

  echo -e "/atomcat: unable to locate functions lib. Cannot continue."

  exit -1

fi

# running tomcat services

RETVAL=$?

case "$1" in

start)

  if [ -f $CATALINA_HOME/bin/startup.sh ];then

    echo $"Starting Tomcat"

    $CATALINA_HOME/bin/startup.sh

  fi

  ;;

stop)

  if [ -f $CATALINA_HOME/bin/shutdown.sh ];then

    echo $"Stopping Tomcat"

    $CATALINA_HOME/bin/shutdown.sh

  fi

  ;;

restart)

  if [ -f $CATALINA_HOME/bin/startup.sh ];then

    echo $"Starting Tomcat"

    $CATALINA_HOME/bin/startup.sh

  fi

  sleep 5

  if [ -f $CATALINA_HOME/bin/shutdown.sh ];then

    echo $"Stopping Tomcat"

    $CATALINA_HOME/bin/shutdown.sh

  fi

  ;;

*)

  echo $"Usage: $0 {start|stop|restart}"

  exit 1

  ;;

esac

exit $RETVAL

6.为该文件添加运行权限

chmod +x /etc/init.d/tomcat





三.安装redis

redis也是一套绿色软件,和上面的tomcat类似。具体的也就是上传相关的压缩包到服务器上,然后解压,直接拉起服务就OK。





四.安装mysql





linux下主要是编译安装,需准备:cmake工具





1.yum install gcc gcc-c++ ncurses-devel perl  (安装编译源码所需的工具和库)

2.下载cmake-3.0.1.tar.gz ,然后输入命令:

tar -xzvf cmake-3.0.1.tar.gz   

cd cmake-3.0.1   

./bootstrap ; make ; make install   

3.新增mysql用户组和用户命令:

groupadd mysql  

useradd -r -g mysql mysql

4.新建mysql安装目录和存放数据目录:

mkdir -p /usr/local/mysql  

cd /usr/local/mysql

chown -R mysql:mysql .  (分配权限)

 

mkdir -p /var/mysqldata

cd /var/mysqldata

chown -R mysql:mysql . (分配权限)

5.下载mysql-5.5.38.tar.gz ,解压:

tar -zxvf mysql-5.5.38.tar.gz

cd mysql-5.5.38(先进入目录下)

6.(先进入mysql-5.5.38目录下)再执行cmake命令:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_UNIX_ADDR=/var/mysqldata/mysql.sock \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \

-DWITH_MYISAM_STORAGE_ENGINE=1 \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_MEMORY_STORAGE_ENGINE=1 \

-DWITH_READLINE=1 \

-DENABLED_LOCAL_INFILE=1 \

-DMYSQL_DATADIR=/var/mysqldata \

-DMYSQL_USER=mysql \

-DMYSQL_TCP_PORT=3306

7.再编译:

make

make install

8.复制配置文件,在/usr/local/mysql下执行:

cp support-files/my-medium.cnf /etc/my.cnf

9 初始化数据库

执行前需赋给scripts/mysql_install_db文件执行权限

chmod 755 scripts/mysql_install_db

scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ \

--datadir=/var/mysqldata/

10.   设置mysqld的开机启动

cp support-files/mysql.server /etc/init.d/mysql

chmod 755 /etc/init.d/mysql

chkconfig mysql on

11.MySQL配置环境变量

export PATH=/usr/local/mysql/bin:$PATH

alias mysql_start="mysqld_safe &"

alias mysql_stop="mysqladmin –u root -p shutdown"

source /etc/profile (重启配置)

12.启动mysql服务

/etc/init.d/mysql start

ps -ef |grep mysql (命令查看是否启动)

13.    登陆mysql

# mysql -u root –p

14.修改MySQL用户root的密码

mysqladmin -u root password '123456' (更新密码)





五.安装SVN,FTP

其实这个SVN现在来说已经过时了,git功能更加强大,而且也很好使。我买来的阿里云上面这些已经装好了,所以就不用自己装了。这里转载一篇别人的博客也统一整理下SVN的安装。

第一章 安装





1. 采用源文件编译安装。源文件共两个,为:

subversion-1.6.1.tar.gz (subversion 源文件)

subversion-deps-1.6.1.tar.gz (subversion依赖文件)

注意文件版本必须一致,否则很容易产生各种奇怪的问题.





2. 上传以上两个文件到服务器上,解压。解压命令为:





1 tar xfvz subversion-1.6.1.tar.gz 

2 tar xfvz subversion-deps-1.6.1.tar.gz

指令简介:tar 为解压命令,xfvz为tar命令的参数,用于解压tar.gz格式压缩的文件。

 

3. 解压后生成 subversion-1.6.1 子目录,两个压缩包解压后都会自动放到此目录下,不用手动更改。





4. 进入解压子目录:





1 cd subversion-1.6.1

5. 执行 ./configure –prefix=/opt/subversion 进行配置设定并指明安装目录. 注意prefix前是两个减号. 默认不带BDB包, 所以默认使用的是FSFS模式. 若想使用BDB模式需另外下载BDB包.建议使用FSFS模式.两种模式比较参考以下链接:





http://doc.iusesvn.com/show-21-1.html





指令简介:configure命令用于检查安装平台和目标特征,prefix用于指定路径。





6. 执行 make 编译.





7. 执行 make install 安装.





8. 添加环境变量:





1 vi /etc/profile

在文件最后加入:

SVNPATH=$PATH:/opt/subversion/bin

export SVNPATH





9. 测试SVN是否安装成功,执行:





1 svnserve --version

如果显示版本信息, 则安装成功.





第二章 配置





本系统采用为每个项目单独建一版本库的策略。配置文件,密码文件,访问控制文件等都放在版本库的conf目录下。所以每次开始一个新项目都必须新建一个版本库,并重新配置各配置文件。还有很重要的一条,要求各组员重新配置客户端,包括服务器版本库路径,本地路径等信息。





1. 建立版本库目录(可建立多个,新建库后以下各项都需重新配置。注意区别安装目录与版本库目录,以下讲的都是版本库目录)





1 mkdir –p /opt/svndata/repos

2. 建立svn版本库(与上面目录对应)





1 svnadmin create /opt/svndata/repos

执行此命令后svn自动在repos目录下添加必须的配置文件.

注意:版本库不同于一般的文件夹, 直接在操作系统上新建文件无法被SVN识别, 必须使用import等命令将文件导入版本库.

此为svn内部指令,create用于新建版本库。请使用svn help查看详细说明。





3. 修改版本库配置文件





1 vi /opt/svndata/repos/conf/svnserve.conf

各参数功能在配置文件的注释中有说明, 此处配置如下:

[general]

anon-access = none # 使非授权用户无法访问

auth-access = write # 使授权用户有写权限

password-db = /opt/svndata/repos/conf/pwd.conf # 指明密码文件路径

authz-db = /opt/svndata/repos/conf/authz.conf # 访问控制文件

realm = /opt/svndata/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。

其它采用默认配置. 各语句都必须顶格写, 左侧不能留空格, 否则会出错.

其中pwd.conf 与 authz.conf 在新建版本库时系统不会自动创建,需要自己创建。

指令简介:这是svn配置文件的格式,请按照以上格式书写。





4. 配置用户





1 vi /opt/svndata/repos/conf/pwd.conf

输入以下内容:

[users]

username1 = password1

username2 = password2

可以添加多个,此为用户名密码对。





5. 配置权限

vi /opt/svndata/repos/conf/authz.conf

指令简介:此配置文件采用“基于路径的授权”策略,中括号里指定路径,以下列出对各用户的授权。包括只读r,读写rw。没有列出的用户,则不允许访问。还可以对用户分组,具体请参考svn手册,以下是简单例子:

[/opt/svndata/repos]

user1 = rw

user2 = r





6. 使用import导入文件

新建好的版本库是空的,需要导入工作目录。





1 $ svnadmin create /usr/local/svn/newrepos 

2 $ svnimport mytree file:///usr/local/svn/newrepos/some/project

但是在导入后,用来的目录树并没有转换成工作拷贝,为了开始工作,还是需要运行svn checkout导出一个工作拷贝。因为导入后,文件在版本库中是以特殊的形式存在db文件夹中的,不能以明文的方式查看。必须使用svn checkout导出工作副本(workcopy)才能以正常方式查看。





1 svn checkout file:///usr/local/svn/newrepos/some/project workcopy

7. 启动服务

执行svnserve –d –r /opt/svndata/repos/ 启动服务, 以deamon方式运行。

本系统采用svnserve方式, 这是小团队项目的推荐方法. 这种方法维护最少, 配置最简单.

指令简介:此指令用于启动svn服务,-d指明以守护模式运行,svn自动在3690端口监听。3690是默认端口,可以使用“–listen-port=”或者“–listen-host=”来指定其它端口。-r选项用来指定svn服务的根目录,这样用户就可以使用相对路径访问,而不用提供完整路径。

使用以下命令检出:(svnserver方式)





1 svn checkout svn://127.0.0.1/dir

以上为示例。IP需要根据具体情况调整,dir为版本库路径,若在启动时已指定则可省略。

版本库信息在版本库文件夹里,所以要删除版本库只需要删除版本库所在的文件夹即可。

另外工作副本只是自己维护的文件夹,可以用Windows直接删掉,对别人没有影响。千万不要使用版本库的删除命令,否则版本库里的内容也会被删除。





Linux上常用软件安装和总结的更多相关文章

  1. 大数据学习——Linux上常用软件安装

    4.1 Linux系统软件安装方式 Linux上的软件安装有以下几种常见方式: 1.二进制发布包 软件已经针对具体平台编译打包发布,只要解压,修改配置即可 2.RPM发布包 软件已经按照redhat的 ...

  2. Linux上的软件安装有哪些方式?

    Linux上的软件安装有以下几种常见方式介绍 1.二进制发布包 软件已经针对具体平台编译打包发布,只要解压,修改配置即可 2.RPM包 软件已经按照redhat的包管理工具规范RPM进行打包发布,需要 ...

  3. Kali Linux下常用软件安装及配置

    0x00 Synaptic Synaptic(新立得)是一个高级软件包管理器,它可以管理系统内安装的每个软件及包组件,在图形界面内完成LINUX系统软件的搜寻.安装和删除. Synaptic安装简单, ...

  4. 《前端运维》一、Linux基础--09常用软件安装

    一.软件包管理 RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的"添加/删除程序".软件包有几种类型,我们一起来看下: 源 ...

  5. Ubuntu16.04系统美化、常用软件安装等,长期更新

    Ubuntu16.04系统美化.常用软件安装等,长期更新 IT之家啊 18-09-0915:00 因为我个人偏向于玩VPS.服务器之类的东西,所以一般我都是用CentOS.不过对于桌面版的Linux, ...

  6. Ubuntu 18.04 安装和常用软件安装

    Ubuntu 18.04 安装 下载 Ubuntu 制作 U 盘启动盘 设置电脑为 U 盘启动 插入 U 盘,重启电脑 按照提示安装 Ubuntu 更新 NVIDIA 显卡和 Broadcom 无线网 ...

  7. linux操作之软件安装(二)(源码安装)

    源码安装 linux上的软件大部分都是c语言开发的 , 那么安装需要gcc编译程序才可以进行源码安装. yum install -y gcc #先安装gcc 安装源码需要三个步骤 1) ./confi ...

  8. Fedora 28 系统基础配置以及常用软件安装方式

    实验说明: 很多人说Linux很难用,很难上手,其实不然,倘若不玩游戏,其实很多发行版Linux都可以成为主力系统,就比如本章要讲的 Fedora 28.本章会从镜像来源.系统安装.基础配置和常用软件 ...

  9. CentOS7 系统服务器初始化配置、安全加固、内核升级优化常用软件安装的Shell脚本分享

    转载自:https://www.bilibili.com/read/cv13875630?spm_id_from=333.999.0.0 描述: 适用于企业内部 CentOS7 系列操作服务器初始化. ...

随机推荐

  1. android开发遇到的问题

    1.虚拟机运行出下面的错Failed to allocate memory: 8 Failed to allocate memory: 8This application has requested ...

  2. 在阿里云 ECS 搭建 nginx https nodejs 环境(三、nodejs)

    在阿里云 ECS 搭建 nginx https nodejs 环境(三.nodejs) 在阿里云 ECS 搭建 nginx https nodejs 环境(三.nodejs) 第一步 指定版本源 执行 ...

  3. js调取本地可执行文件exe

    通过ie支持的activex控件来读取文程序的安装路径,从而调用本地exe文件 function callExe () { try{ var command; var shell = new Acti ...

  4. 【知了堂学习心得】浅谈c3p0连接池和dbutils工具类的使用

    1. C3P0概述 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展.目前使用它的开源项目有Hibernate,Spring等. 2. C3P ...

  5. App开发 对生命周期的处理

    //获取到当前所在的视图 - (UIViewController *)presentingVC:(UIApplication *)application{ UIWindow * window = ap ...

  6. console.log的返回值undefined

    console.log(fun());  function fun(){ console.log(1); } //////输出结果为: 1 undefined console.log(fun());  ...

  7. 基于ssh框架的highcharts前后台数据交互实例

    Highcharts 是一个用纯JavaScript编写的一个图表库, 能够很简单便捷的在web网站或是web应用程序添加有交互性的图表,并且免费提供给个人学习.个人网站和非商业用途使用.HighCh ...

  8. 385cc412a70eb9c6578a82ac58fce14c 教大家破解md5验证值

    Md5密文破解(解密)可以说是网络攻击中的一个必不可少的环节,是工具中的一个重要"辅助工具".md5解密主要用于网络攻击,在对网站等进行入侵过程,有可能获得管理员或者其他用户的账号 ...

  9. qscoj 128 喵哈哈村的魔法源泉(2)(模仿快速幂,好题)

    喵哈哈村的魔法源泉(2) 发布时间: 2017年5月9日 20:59   最后更新: 2017年5月9日 21:00   时间限制: 1000ms   内存限制: 128M 描述 喵哈哈村有一个魔法源 ...

  10. 2017广东工业大学程序设竞赛C题爬楼梯

    Description 小时候,我只能一阶一阶得爬楼梯, 后来,我除了能一次爬一阶,还可以一次爬两阶, 到现在,我最多一次可以爬三阶. 那么现在问题来了,我想爬上n层楼,相邻楼层之间有一段楼梯,虽然我 ...