Linux经常使用软件安装手册

Linux

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

在linux安装软件的时候,我总会有这样的想法,软件到底安装到那个目录下。由于linux系统有别与Windows系统,不是在那个盘建立一个文件夹把你须要安装的程序安装到指定目录便可。linux目录相似一个树,最顶层是其根目录,每一个目录有本身不一样的做用。html

 

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

 

      1. opt目录

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

 

例如:nginx

 

      1. /usr/local目录

/usr:系统级的目录,能够理解为C:/Windows/。git

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

/usr/local:用户级的程序目录,能够理解为C:/Progrem Files/。用户本身编译的软件默认会安装到这个目录下。redis

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

 

      1. 总结

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

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

    • 网络配置
  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

 

一、错误描述:安装好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

 

二、错误缘由:没有那个文件或目录,须要安装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端口暴露除去,或关闭防火墙

相关文章
相关标签/搜索