在linux安裝軟件的時候,我總會有這樣的想法,軟件到底安裝到那個目錄下。由於linux系統有別與Windows系統,不是在那個盤建立一個文件夾把你須要安裝的程序安裝到指定目錄便可。linux目錄相似一個樹,最頂層是其根目錄,每一個目錄有本身不一樣的做用。html
Linux 的軟件安裝目錄是也是有講究的,正確的選擇安裝目錄對系統管理是有益的,這裏講解一下程序安裝目錄/opt目錄和/usr/local目錄的區別。java
/opt目錄用來安裝附加軟件包,是用戶級的程序目錄,能夠理解爲D:/Software。安裝到/opt目錄下的程序,它全部的數據、庫文件等等都是放在同個目錄下面。opt有可選的意思,這裏能夠用於放置第三方大型軟件(或遊戲),當你不須要時,直接rm -rf掉便可。在硬盤容量不夠時,也可將/opt單獨掛載到其餘磁盤上使用。linux
例如:nginx
/usr:系統級的目錄,能夠理解爲C:/Windows/。git
/usr/lib:理解爲C:/Windows/System32。github
/usr/local:用戶級的程序目錄,能夠理解爲C:/Progrem Files/。用戶本身編譯的軟件默認會安裝到這個目錄下。redis
這裏主要存放那些手動安裝的軟件,即不是經過「新立得」或apt-get安裝的軟件。它和/usr目錄具備相相似的目錄結構。讓軟件包管理器來管理/usr目錄,而把自定義的腳本(scripts)放到/usr/local目錄下面。apache
其實安裝軟件程序並非非要在指定的目錄下完成,安裝java、tomcat等也能夠安裝在opt目錄下,可是安裝程序的擴展性和管理性來講,方便使用纔是最好的。總結opt目錄和usr/local目錄就是/usr/local下通常是你安裝軟件的目錄,這個目錄就至關於在windows下的programefiles這個目錄。/opt這個目錄是一些大型軟件的安裝目錄,或者是一些服務程序的安裝目錄 。vim
實際工做中,通常把源碼解壓到root/src/,軟件安裝disk1的install文件夾下,數據保存到install的/data/文件夾下。windows
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 重啓網絡
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
第一步:安裝 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
進入bin目錄,啓動服務輸入命令
./zkServer.sh start |
輸出如下內容表示啓動成功
Starting zookeeper .... STARTED
關閉服務輸入命輸出如下提示信息
Starting zookeeper .... STOPPED
查看狀態:
./zkServer.sh status |
若是啓動狀態,提示
Mode: standalone
若是未啓動狀態,提示:
not running
[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
後端啓動:
[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
#安裝依賴
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端口暴露除去,或關閉防火牆