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端口暴露除去,或關閉防火牆

相關文章
相關標籤/搜索