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. linux 卸载安装node npm

    1. 卸载node npm (1) 先卸载 npm: sudo npm uninstall npm -g (2) 然后卸载 Node.js. (2.1) 如果是 Ubuntu 系统并使用 apt-ge ...

  2. 知识点练习day9

    列表 作用:多个装备,多个爱好,多门课程,多个女朋友等 定义:[]内可以有多个任意类型的值,逗号分隔 my_girl_friends=['alex','wupeiqi','yuanhao',4,5] ...

  3. Vue + iView + vuex + vee-validate 完整项目总结

    build/*.js config/*.js src/旧代码文件夹 部门最近的一个新项目启动,很幸运由我来主导整个前端部分的技术选型和整体架构,项目工作量很大,但是却没有足够的人手,只有三个连CSS都 ...

  4. mongodb 的进库操作

    mongo show dbs use  xxx show collections db.xxx.find() db.users.update({ "xxx" : ObjectId( ...

  5. 180114 用装饰器实现在不改变函数调用者的代码基础上,实现在函数执行前后分别打印"before" 和 "after"

    def bef_aft(func): #定义一个名为bef_aft的函数名 ,()里的是函数的参数,设置为func, 函数的参数分为实参和形参,有个参数传递的概念 ,下面有很多的解释 def PRin ...

  6. 1492: [NOI2007]货币兑换Cash

    Description 小Y最近在一家金券交易所工作.该金券交易所只发行交易两种金券:A纪念券(以下简称A券)和 B纪念券(以下 简称B券).每个持有金券的顾客都有一个自己的帐户.金券的数目可以是一个 ...

  7. [51nod1310]Chandrima and XOR

    有这样一个小到大排列的无穷序列S:1, 2, 4, 5, 8......,其中任何一个数转为2进制不包括2个连续的1.给出一个长度为N的正整数数组A,A1, A2......An记录的是下标(下标从1 ...

  8. 解决php的sha1和java的sha1(DigestUtils.sha1Hex)产生的字符串不相等的问题

    最近对接某个第三方服务,其中对接某些api需要用到他们的签名回调,根据他们传来的get参数和apiSecret进行拼接并使用sha1加密,然后返回弄成jsonp的格式返回,出于菜鸟的本能,首先是下载了 ...

  9. N的N次方

    题目描述 现给你一个正整数N,请问N^N的最左边的数字是什么? 输入 输入包含多组测试数据.每组输入一个正整数N(N<=1000000). 输出 对于每组输入,输出N^N的最左边的数字. 样例输 ...

  10. .26-浅析webpack源码之事件流make(1)

    compilation事件流中,依然只是针对细节步骤做事件流注入,代码流程如图: // apply => this-compilation // apply => compilation ...