Linux常用软件安装手册

Linux

    • linux 程序安装目录/opt目录和/usr/local目录

在linux安装软件的时候,我总会有这样的想法,软件到底安装到那个目录下。因为linux系统有别与Windows系统,不是在那个盘创建一个文件夹把你需要安装的程序安装到指定目录即可。linux目录类似一个树,最顶层是其根目录,每个目录有自己不同的作用。

 

Linux 的软件安装目录是也是有讲究的,正确的选择安装目录对系统管理是有益的,这里讲解一下程序安装目录/opt目录和/usr/local目录的区别。

 

      1. opt目录

/opt目录用来安装附加软件包,是用户级的程序目录,可以理解为D:/Software。安装到/opt目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。

 

例如:

 

      1. /usr/local目录

/usr:系统级的目录,可以理解为C:/Windows/。

/usr/lib:理解为C:/Windows/System32。

/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。

这里主要存放那些手动安装的软件,即不是通过“新立得”或apt-get安装的软件。它和/usr目录具有相类似的目录结构。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面。

 

      1. 总结

其实安装软件程序并不是非要在指定的目录下完成,安装java、tomcat等也可以安装在opt目录下,但是安装程序的扩展性和管理性来说,方便使用才是最好的。总结opt目录和usr/local目录就是/usr/local下一般是你安装软件的目录,这个目录就相当于在windows下的programefiles这个目录。/opt这个目录是一些大型软件的安装目录,或者是一些服务程序的安装目录 。

实际工作中,一般把源码解压到root/src/,软件安装disk1的install文件夹下,数据保存到install的/data/文件夹下。

    • 网络配置
  1. linux下设置固定IP的方法

linux系统安装完,以后通过命令模式配置网卡IP。配置文件通常是/etc/sysconfig/network-scripts/ifcfg-interface-name

1.配置网卡IP地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0    #第二块网卡:vi /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth0                                #物理设备名
IPADDR=192.168.1.10                   #IP地址
NETMASK=255.255.255.0            #掩码值
NETWORK=192.168.1.0                #网络地址(可不要)
BROADCAST=192.168.1.255       #广播地址(可不要)
GATEWAY=192.168.1.1                 #网关地址
ONBOOT=yes                                  # [yes|no](引导时是否激活设备)
USERCTL=no                                  #[yes|no](非root用户是否可以控制该设备)
BOOTPROTO=static     #[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议)

2.配置网卡DNS

配置文件在/etc/resolv.conf下面。

vi /etc/resolv.conf

nameserver 202.109.14.5             #主DNS

nameserver 219.141.136.10         #次DNS

search localdomain

所以网络配置完成后,都需要重启网络服务:service network restart     或/etc/init.d/network restart

3.单网卡绑定两个IP

linux的网络设备配置文件存放在/etc/sysconfig/network-scripts里面, 对于以太网的第一个网络设备,配置文件名一般为ifcfg-eth0。如果需要为第一个网络设备多绑定一个IP地址,只需要在/etc/sysconfig/network-scripts目录里面创建一个名为ifcfg-eth0:0的文件,内容样例为:

DEVICE="eth0:0"
IPADDR="211.100.10.119"
NETMASK="255.255.255.0"
ONBOOT="yes"

其中的DEVICE为设备的名称,IPADDR为此设备的IP地址,NETMASK为子网掩码,ONBOOT 表示在系统启动时自动启动。
  如果需要再绑定多一个IP地址,只需要把文件名和文件内的DEVICE中的eth0加一即可。LINUX最多可以支持255个IP别名。

2)防火墙关闭&端口暴露

暴露80端口

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

#持久化防火墙配置

/etc/rc.d/init.d/iptables save

查看防火墙状态

/etc/init.d/iptables status

由于非root用户不能占用80端口所以使普通用户以root身份启动nginx。

cd /ucenter/soft/nginx/sbin

chown root nginx

chmod u+s nginx

关闭防火墙

service iptables stop

然后/etc/init.d/network restart 重启网络

 

    • JAVA

 

1.首先要去下载好JDK,Java SE 8的官方网址是http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 

2   tar -zxvf jdk-8u102-linux-x64.tar.gz

3  然后我们来新建一个目录,并将解压好的文件移动过去 

mkdir /usr/java

mv ./jdk1.8.0_102 /usr/java 

4 先用vim(如果没有vim,可以用vi、gedit,也可以去安装个vim) 打开/etc/profile文件

vim /etc/profile

5 在文件最后加入

export JAVA_HOME=/usr/java/jdk1.8.0_172

export JRE_HOME=/usr/java/jdk1.8.0_172/jre 

export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH 

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

6.使配置生效: source /etc/profile

7 查看java版本

java -version

8.常见错误
安装JDK出现错误:-bash: /usr/java/jdk1.7.0_71/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such fi

 

1、错误描述:安装好jdk之后,通过java -version,javac,java等命令测试是否安装成功时出现错误-bash: /usr/java/jdk1.7.0_71/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

 

2、错误原因:没有那个文件或目录,需要安装glibc

  1. 解决办法:终端输入sudo yum install glibc.i686命令,安装好glibc,问题解决

    • Zookeeper 在Linux系统的安装
      1. 安装步骤:

第一步:安装 jdk(此步省略,我给大家提供的镜像已经安装好JDK)

第二步:把 zookeeper 的压缩包(资源\配套软件\dubbox\zookeeper-3.4.6.tar.gz)上传到 linux 系统。或

wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz

Alt+P 进入SFTP ,输入put d:\zookeeper-3.4.6.tar.gz 上传

第三步:解压缩压缩包

tar -zxvf zookeeper-3.4.6.tar.gz

第四步:进入 zookeeper-3.4.6 目录,创建 data 文件夹。

mkdir data

第五步:进入conf目录 ,把 zoo_sample.cfg 改名为 zoo.cfg

cd conf

mv zoo_sample.cfg zoo.cfg

第六步:打开zoo.cfg ,  修改 data 属性:dataDir=/root/zookeeper-3.4.6/data

      1. Zookeeper 服务启动

进入bin目录,启动服务输入命令

 ./zkServer.sh start

输出以下内容表示启动成功

Starting zookeeper .... STARTED

关闭服务输入命输出以下提示信息

Starting zookeeper .... STOPPED

查看状态:

./zkServer.sh status

如果启动状态,提示

Mode: standalone

如果未启动状态,提示:

not running

    • Redis

[root@localhost redis-5.0.3]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz

[root@localhost redis-5.0.3]# tar xzf redis-5.0.3.tar.gz

[root@localhost redis-5.0.3]# cd redis-5.0.3

[root@localhost redis-5.0.3]# make

 提示错误 make: cc: Command not found make: *** [adlist.o] Error 127

没有安装gcc环境,需要安装gcc

[root@localhost redis-5.0.3]# yum install gcc

安装后检查是否安装成功

[root@localhost redis-5.0.3]# rpm -qa |grep gcc

之后重新make

[root@localhost redis-5.0.3]# make

 

[root@localhost redis-5.0.3]# make install PREFIX=/disk1/install/redis

 

The binaries that are now compiled are available in the src directory. Run Redis with:

[root@localhost redis-5.0.3]# /disk1/install/redis/bin/redis-server

#此时将不能关闭窗口,如果关闭将将关闭服务。

You can interact with Redis using the built-in client:

[root@localhost redis-5.0.3]# /disk1/install/redis/bin/redis-cli

redis> set foo bar

OK

redis> get foo

"bar"

redis>config get requirepass //获取当前密码
redis>config set requirepass "yourpassword"         //设置当前密码,服务重新启动后又会置为默认,即无密码;不建议此种方式

 

redis>exit

[root@localhost redis-5.0.3]# redis-cli shutdown 

 即可,也可以指定端口关闭 

[root@localhost redis-5.0.3]#redis-cli -p 6379

关闭:

[root@localhost redis-5.0.3]#shutdown

后端启动:

  1. 先将redis.conf中daemonize设置为yes,确保守护进程开启。

[root@localhost bin]#./redis-server /root/src/redis-5.0.3/redis.conf

测试:

4.设置开机自启动 (设置开机自启动只为运维方便,以下步骤可省略)

 

(4.1)先将redis.conf中daemonize设置为yes,确保守护进程开启。

 

  4.2)编写开机自启动脚本

 

[root@localhost redis-5.0.3]# vi /etc/init.d/redis

【注】注意修改成自己的redis地址

 

PATH=/usr/local/bin:/sbin:/disk1/install/redis/bin:/bin   

REDISPORT=6379  

EXEC=/disk1/install/redis/bin/redis-server

REDIS_CLI==/disk1/install/redis/bin/redis-cli

 

PIDFILE=/var/run/redis.pid   

CONF="/root/src/redis-5.0.3/redis.conf"  

AUTH="123456"  

 

case "$1" in   

        start)   

                if [ -f $PIDFILE ]   

                then   

                        echo "$PIDFILE exists, process is already running or crashed."  

                else  

                        echo "Starting Redis server..."  

                        $EXEC $CONF   

                fi   

                if [ "$?"="0" ]   

                then   

                        echo "Redis is running..."  

                fi   

                ;;   

        stop)   

                if [ ! -f $PIDFILE ]   

                then   

                        echo "$PIDFILE exists, process is not running."  

                else  

                        PID=$(cat $PIDFILE)   

                        echo "Stopping..."  

                       $REDIS_CLI -p $REDISPORT  SHUTDOWN    

                        sleep 2  

                       while [ -x $PIDFILE ]   

                       do  

                                echo "Waiting for Redis to shutdown..."  

                               sleep 1  

                        done   

                        echo "Redis stopped"  

                fi   

                ;;   

        restart|force-reload)   

                ${0} stop   

                ${0} start   

                ;;   

        *)   

               echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2  

                exit 1  

esac

: redis设置AUTH命令

redis 127.0.0.1:6379> AUTH PASSWORD

(error) ERR Client sent AUTH, but no password is set

redis 127.0.0.1:6379> CONFIG SET requirepass "1234"

OK

redis 127.0.0.1:6379> AUTH 123456

Ok/

 

4.3)设置权限

# chmod 777 redis

 

4.4关机重启测试

reboot

 

 

 

 

    • rFDFS

#安装依赖

yum install gcc pcre pcre-devel gzip gzip-devel zlib zlib-devel

yum install -y git

#下载fdfs 和nginx模块源码

test -d /root/src || mkdir /root/src

cd /root/src

 

git clone https://github.com/happyfish100/libfastcommon.git

git clone https://github.com/happyfish100/fastdfs-nginx-module.git

git clone https://github.com/happyfish100/fastdfs.git

 

cd /root/src/libfastcommon/

./make.sh

./make.sh install

 

cd /root/src/fastdfs

./make.sh

./make.sh install

 

cd /etc/fdfs

rm -rf *.sample

#注意最后一个点,别漏掉了

cp /root/src/fastdfs/conf/* .

 

mkdir /disk1/data/fastdfs -p

# sed  是替换命令

sed -i 's#/home/yuqing/fastdfs#/disk1/data/fastdfs#g' tracker.conf

 

#启动tracker

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start

 

sed -i 's#/home/yuqing/fastdfs#/disk1/data/fastdfs#g' storage.conf

 

sed -i 's/192.168.209.121/192.168.248.131/g' storage.conf

 

#启动storage

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start

 

sed -i 's#/home/yuqing/fastdfs#/disk1/data/fastdfs#g' client.conf

 

sed -i 's/192.168.209.121/192.168.248.131/g' client.conf

 

#拷配置并修改

cp /root/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

 

sed -i 's/tracker:22122/192.168.248.131:22122/' /etc/fdfs/mod_fastdfs.conf

 

sed -i 's/url_have_group_name = false/url_have_group_name = true/' /etc/fdfs/mod_fastdfs.conf

 

sed -i 's%store_path0=/home/yuqing/fastdfs%store_path0=/disk1/data/fastdfs%g' /etc/fdfs/mod_fastdfs.conf

 

# 下载和编译安装nginx  cd /root/src

 

wget http://nginx.org/download/nginx-1.15.8.tar.gz

./configure --prefix=/disk1/install/nginx --user=nobody --group=nobody --with-http_ssl_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module  --add-module=/root/src/fastdfs-nginx-module/src

 

成功标志:

【常见问题】:

缺少SSL

解决办法:yum install openssl openssl-devel

make

make install

 

#修改nginx 配置

在nginx.conf server中添加

location /group1/M00 {

ngx_fastdfs_module;

}

 

/usr/local/nginx/sbin/nginx -s reload

 

#启动nginx

/disk1/install/nginx/sbin/nginx

 

 

#上传测试

cd /etc/fdfs/

/usr/bin/fdfs_test /etc/fdfs/client.conf upload ./anti-steal.jpg

修改client.conf文件

 

如果访问不到请把80端口暴露除去,或关闭防火墙

转载于:https://my.oschina.net/u/2505908/blog/3023610

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值