Linux服務器常用軟件部署搭建

Nginx在Linux下的安裝

  • ubuntu環境下的安裝配置

  • Nginx的基本安裝

#1.Nginx的下載安裝
  sudo apt-get update
  apt-get install nginx
#2.Nginx的配置文件路徑
  sudo vi /etc/nginx/nginx.conf
#3.Nginx的啓動和停止
  sudo service nginx start
  sudo service nginx stop

ubuntu中安裝Nginx相對來說比較簡單,默認端口是80,在瀏覽器中輸入ip:80即可訪問

安裝Nginx
   ./configure 

   make && make install

默認安裝目錄:
   /usr/local/nginx

配置Nginx爲系統服務,以方便管理
  1、在/etc/rc.d/init.d/目錄中建立文本文件nginx
  2、在文件中粘貼下面的內容:

#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig:   - 85 15 
# description:  Nginx is an HTTP(S) server, HTTP(S) reverse \
#               proxy and IMAP/POP3 proxy server
# processname: nginx
# config:      /etc/nginx/nginx.conf
# config:      /etc/sysconfig/nginx
# pidfile:     /var/run/nginx.pid
 
# Source function library.
. /etc/rc.d/init.d/functions
 
# Source networking configuration.
. /etc/sysconfig/network
 
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
 
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)
 
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
 
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
 
lockfile=/var/lock/subsys/nginx
 
make_dirs() {
   # make required directories
   user=`nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
   options=`$nginx -V 2>&1 | grep 'configure arguments:'`
   for opt in $options; do
       if [ `echo $opt | grep '.*-temp-path'` ]; then
           value=`echo $opt | cut -d "=" -f 2`
           if [ ! -d "$value" ]; then
               # echo "creating" $value
               mkdir -p $value && chown -R $user $value
           fi
       fi
   done
}
 
start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    make_dirs
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}
 
stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}
 
restart() {
    configtest || return $?
    stop
    sleep 1
    start
}
 
reload() {
    configtest || return $?
    echo -n $"Reloading $prog: "
    killproc $nginx -HUP
    RETVAL=$?
    echo
}
 
force_reload() {
    restart
}
 
configtest() {
  $nginx -t -c $NGINX_CONF_FILE
}
 
rh_status() {
    status $prog
}
 
rh_status_q() {
    rh_status >/dev/null 2>&1
}
 
case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
            ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
        exit 2
esac

 

3、修改nginx文件的執行權限
	chmod +x nginx
4、添加該文件到系統服務中去
	chkconfig --add nginx
	查看是否添加成功
	chkconfig --list nginx

啓動,停止,重新裝載
service nginx start|stop
  • Nginx配置vhost

所謂 vhost 就是把多個應用映射到一個ip地址上,達到多對一的效果

#1.創建nginx虛擬主機配置文件 
  sudo vi /etc/nginx/sites-available/mydefault.vhost 
#mydefault.vhost文件內容如下:
#-----------------------------mydefault.vhost--------------------------------------#
#用戶端api接口轉發
server {
  listen       80;
  server_name  192.168.0.65;
  index index.html;
  
  location /uc {
    index index.html;
    client_max_body_size    5m;
    proxy_pass http://127.0.0.1:6001;
      proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
  }
  location /otc {
    index index.html;
    client_max_body_size    5m;
    proxy_pass http://127.0.0.1:6002;
      proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
  }
  location /exchange {
    index index.html;
    client_max_body_size    5m;
    proxy_pass http://127.0.0.1:6003;
      proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
  }
  location /market {
    index index.html;
    client_max_body_size    5m;
    proxy_pass http://127.0.0.1:6004;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Real-IP $remote_addr;
  }
  location /chat {
    index index.html;
    client_max_body_size    5m;
    proxy_pass http://127.0.0.1:6007;
    proxy_set_header Host $host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Real-IP $remote_addr;
  }
}
#後臺api接口轉發
server {
  listen       80;
  server_name  api.admin.domain.com;
  index index.html;
  location / {
    index index.html;
    client_max_body_size    5m;
    proxy_pass http://127.0.0.1:6010;
    proxy_set_header Host $host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Real-IP $remote_addr;
  }
}
#---------------------------mydefault.vhost----------------------------------#
#2.建立一個mydefault.vhost文件的鏈接
#(因爲nginx的主配置文件nginx.conf會自動應用sites-enabled中的配置文件,所以我們需要在sites-enabled中建立一個mydefault.vhost文件的鏈接)
  cd /etc/nginx/sites-enabled
  sudo ln -s /etc/nginx/sites-available/mydefault.vhost mydefault.vhost
#3.重新加載nginx使配置生效 
  sudo /etc/init.d/nginx reload
  • centos環境下的安裝配置

centos7系統庫中默認是沒有nginx的rpm包的,所以我們自己需要先更新下rpm依賴庫

#1.使用yum安裝nginx需要包括Nginx的庫,安裝Nginx的庫
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
#2.rpm包的安裝:
#2.1.安裝一個包
  rpm -ivh
#2.2.升級一個包,沒安裝過的不能使用升級命令
  rpm -Uvh
#2.3.移走一個包
  rpm -e
#3.安裝準備依賴lib庫
  yum install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
#4.使用下面命令安裝nginx
  yum install nginx
#5.啓動/重啓/停止Nginx
  service nginx start 或 systemctl start nginx.service
  service nginx restart
  /etc/init.d/nginx stop
  /etc/init.d/nginx start

kafka在Linux下的安裝

  • ubuntu 環境下的安裝配置
  • Kafka 的基本環境的安裝
##Install and Start Apache Kafka Server : 0.0.0.0:9092
#0: update and upgrade
  sudo apt-get update -y
#1: home dir
  cd /home/imex
#2: find new package @ www.apache.org
  http://mirror.bit.edu.cn/apache/kafka/1.0.1/kafka_2.11-1.0.1.tgz
#3: download
  wget http://mirror.bit.edu.cn/apache/kafka/1.0.1/kafka_2.11-1.0.1.tgz
#4: mkdir
  sudo mkdir /opt/Kafka
  cd /opt/Kafka
#5: install
    sudo tar -xvf /home/imex/kafka_2.11-1.0.1.tgz -C /opt/Kafka/
#6: start
  sudo  /opt/Kafka/kafka_2.11-1.0.1/bin/kafka-server-start.sh         
  /opt/Kafka/kafka_2.11-1.0.1/config/server.properties
#7: to start the Kafka server as a background process:
  sudo nohup /opt/Kafka/kafka_2.11-1.0.1/bin/kafka-server-start.sh /opt/Kafka/kafka_2.11-1.0.1/config/server.properties /tmp/kafka.log 2>&1 &
#check 
   netstat -ant | grep :9092
#8: Testing Kafka Server
#-- To test Kafka, create a sample topic with name "testing" in Apache Kafka using the following command:
  sudo /opt/Kafka/kafka_2.11-1.0.1/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1  --partitions 1 --topic testing       
#-- Now, ask Zookeeper to list available topics on Apache Kafka by running the following command:
  sudo /opt/Kafka/kafka_2.11-1.0.1/bin/kafka-topics.sh --list --zookeeper localhost:2181    
#--Now, publish a sample messages to Apache Kafka topic called testing by using the following producer command:
  sudo /opt/Kafka/kafka_2.11-1.0.1/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testing
#--Now, use consumer command to check for messages on Apache Kafka Topic called testing by running the following command:
  sudo /opt/Kafka/kafka_2.11-1.0.1/bin/kafka-console-consumer.sh --    zookeeper localhost:2181 --topic testing --from-beginning
  • Kafka的服務配置
#1.創建服務文件
  cd /etc/systemd/system/
  sudo vi kafka.service
#2.填充內容
[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
Type=forking
ExecStart= /opt/Kafka/kafka_2.12-1.1.0/bin/kafka-server-start.sh /opt/Kafka/kafka_2.12-1.1.0/config/server.properties
ExecStop=/opt/Kafka/kafka_2.12-1.1.0/bin/kafka-server-stop.sh
Restart=alwaiys
PrivateTmp=true

[Install]
WantedBy=multi-user.target
#3.啓動、停止命令
  sudo systemctl start kafka.service
  sudo systemctl stop kafka.service
  • Kafka自動關閉問題

Kafka在啓動一段時間後,如果出現服務自動關閉情況,可在啓動kafka的時使用守護進程模式啓動,即在原啓動命令中加 -daemon

kafka-server-start.sh  -daemon  config/server.properties  &

mysql在Linux下的安裝

  • ubuntu環境下的安裝配置

mysql的基本環境的安裝

#1.首先執行下面三條命令:
  sudo apt-get install mysql-server
  sudo apt isntall mysql-client
  sudo apt install libmysqlclient-dev
#2.安裝成功後可以通過下面的命令測試是否安裝成功:
  sudo netstat -tap | grep mysql
#3.現在設置mysql允許遠程訪問,首先編輯文件/etc/mysql/mysql.conf.d/mysqld.cnf:
  sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
  #註釋掉bind-address = 127.0.0.1:
#4.保存退出,然後進入mysql服務,執行授權命令:
  grant all on *.* to root@'%' identified by '你的密碼' with grant option;
  flush privileges;
  #然後執行quit命令退出mysql服務,執行如下命令重啓mysql:
  service mysql restart

mysql的基本環境的卸載

#1. 刪除mysql
  a. sudo apt-get autoremove --purge mysql-server-5.0
  b. sudo apt-get remove mysql-server
  c. sudo apt-get autoremove mysql-server
  d. sudo apt-get remove mysql-common (非常重要)
#2. 清理殘留數據
  dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P

zookeeper在Linux下的安裝

  • ubuntu環境下的安裝配置

zookeeper的基本環境的安裝

# 1.下載zookeeper
    wget http://apache.osuosl.org/zookeeper/stable/zookeeper-3.4.12.tar.gz
# 2.解壓到相關目錄
   tar -xf zookeeper-3.4.12.tar.gz
# 3.將zookeeper-3.4.3/conf目錄下的zoo_sample.cfg文件拷貝一份,命名爲爲“zoo.cfg”
# 4.修改zoo.cfg配置文件
    dataDir=/home/gradven/zookeeper-3.4.6/data # 數據存放位置,可根據需要修改
    clientPort=2181 # 服務監聽端口,可根據需要修改。
# 5.啓動服務
   bin/zkServer.sh start
# 6.啓動客戶端測試
  bin/zkCli.sh -server 127.0.0.1:2181
#  顯示根目錄下、文件:
  ls /
# 創建文件,並設置初始內容:
  [zk: 127.0.0.1:2181(CONNECTED) 1] create /treeroot hello
  Created /treeroot
  [zk: 127.0.0.1:2181(CONNECTED) 2] get /treeroot
  hello
  cZxid = 0x2
  ctime = Tue Oct 20 00:30:34 CST 2015
  mZxid = 0x2
  mtime = Tue Oct 20 00:30:34 CST 2015
  pZxid = 0x2
  cversion = 0
  dataVersion = 0
  aclVersion = 0
  ephemeralOwner = 0x0
  dataLength = 5
  numChildren = 0
  [zk: 127.0.0.1:2181(CONNECTED) 3] delete /treeroot
  [zk: 127.0.0.1:2181(CONNECTED) 4]
# 退出客戶端:
  quit
# 7.查看zookeeper的狀態
   ./zkServer.sh status ./zkServer.sh status
# 8.重啓zookeeper 命令
   ./zkServer.sh status ./zkServer.sh restart

zookeeper的服務配置

# 1.設置開機自啓動
  在/etc/rc.local的末尾添加一行以絕對路徑啓動腳本的行;
  /usr/local/sbin/zookeeper/zookeeper-3.4.12/bin/zkServer.sh start
# 2.zookeeper服務配置

redis在Linux下的安裝

通過rz命令將本地的tar.gz包上傳到linux服務器上

tar -zxvf 命令解壓文件

進入到redis-3.0.2文件夾下執行make編譯命令

看到下面這樣的結果說明一切正常

執行 make install命令進行安裝,我個人習慣將軟件都安裝到一個指定的目錄下,這次安裝的目錄是/home/server/redis 安裝目錄可以提前建好

安裝完成結果跟上圖一樣說明安裝一切正常

可以到redis目錄下看會有個bin的目錄

將redis-3.0.2目錄下的redis.conf文件複製到安裝完成的目錄redis目錄下

到這一步就可以啓動redis試試了  ./bin/redis-server redis.conf

  • redis配置

這裏修改配置文件redis.conf 主要修改倆個地方.>> vim redis.conf

1.將daemonize後面的no改爲yes,意爲後臺運行的意思

2.將requirepass前面的#號去掉,開啓密碼驗證,然後後面是我設置的密碼

配置文件修好了之後 開始 redis 配置到系統服務了

   回到解壓完後的文件夾下redis-3.0.2/utils/下,將redis_init_script複製到/etc/init.d下並改名爲redis

然後修改這個redis文件:將代碼修改爲:

#!/bin/sh
# chkconfig: 2345 80 90
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.

REDISPORT=6379
REDISPASSWORD=wwwaaa

EXEC=/home/server/redis/bin/redis-server
CLIEXEC=/home/server/redis/bin/redis-cli

PIDFILE=/var/run/redis.pid
CONF="/home/server/redis/redis.conf"

#echo $1

case "$1" in
	cli)
		
                echo "Cli Redis server..."
               $CLIEXEC -p 6379 -a wwwaaa
       
        ;;
    start)
        if [ -f $PIDFILE ]
        then
                echo "$PIDFILE exists, process is already running or crashed"
        else
                echo "Starting Redis server..."
                $EXEC $CONF &
        fi
        ;;
    stop)
        if [ ! -f $PIDFILE ]
        then
                echo "$PIDFILE does not exist, process is not running"
        else
                PID=$(cat $PIDFILE)
				
				echo $PID 
				
                echo "Stopping ..."
                $CLIEXEC -p $REDISPORT -a $REDISPASSWORD shutdown
                while [ -x /proc/${PID} ]
                do
                    echo "Waiting for Redis to shutdown ..."
                    sleep 1
                done
                echo "Redis stopped"
        fi
        ;;
    *)
        echo "Please use start or stop as first argument"
        ;;
esac

  安裝路徑不一樣的需要修改下,密碼也一樣,然後保存.

將redis添加到系統服務:chkconfig redis

然後我們就可以通過service來啓動/停止redis了

啓動redis服務:(啓動及停止命令)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章