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. HTTP2的新特性

    多路复用 二进制分帧 首部压缩(Header Compression) 服务端推送(Server Push) 请求优先级

  2. centos 虚拟机桥接

    /etc/sysconfig/network-scripts/ifcfg-eth0 配置文件 vi ifcfg-eth0 DEVICE=eth0HWADDR=00:0C:29:B8:B5:65TYPE ...

  3. duilib基本框架

    最近我一个同学在项目中使用到了duilib框架,但是之前并没有接触过,他与我讨论这方面的内容,看着官方给出的精美的例子,我对这个库有了很大的兴趣,我自己也是初学这个东东,我在网上花了不少时间来找相关的 ...

  4. inline函数不能在for循环中使用的原因

    inline函数的作用继承了宏定义的优点,没有了参数压栈,代码生成等一部分操作,并且摒弃了没有检查编译规则的缺点: 另外要注意,内联函数一般只会用在函数内容非常简单的时候,这是因为,内联函数的代码会在 ...

  5. Android基础_web通信2

    一.移动客服端实现对PC端数据的操作 在PC端模拟一个数据库,实现用户的增删改查,然后在移动客服端实现对PC端数据库的操作 在PC端建立三个表 用户表(Users),员工表(Emp), 部门表(Dep ...

  6. 如何调用sklearn模块做交叉验证

    终于搞明白了如何用sklearn做交叉验证!!! 一般在建立完模型之后,我们要预测模型的好坏,为了试验的可靠性(排除一次测试的偶然性)我们要进行多次测试验证,这时就要用交叉验证. sklearn中的s ...

  7. cs231n spring 2017 lecture5 Convolutional Neural Networks听课笔记

    1. 之前课程里,一个32*32*3的图像被展成3072*1的向量,左乘大小为10*3072的权重矩阵W,可以得到一个10*1的得分,分别对应10类标签. 在Convolution Layer里,图像 ...

  8. [bzoj4410] [Usaco2016 Feb]Fence in

    根据ccz181078大爷的题解可得(QAQ,每次肯定是断掉连续一行||一列的栅栏... 贪心地想,一个格子与外面联通,显然是先把短的边界断掉(就像mst那样 但是比较蛋疼的是,因为我们每次断的时候, ...

  9. CodeForces832-B. Petya and Exam

    补的若干年以前的题目,水题,太菜啦_(:з」∠)_    B. Petya and Exam time limit per test 2 seconds memory limit per test 2 ...

  10. Prim最小生成树板子

    普里姆算法可以称为"加点法",每次迭代选择代价最小的边对应的点,加入到最小生成树中.算法从某一个顶点s开始,逐渐长大覆盖整个连通网的所有顶点. 邻接矩阵存图  时间复杂度O(n^2 ...