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服務:(啓動及停止命令)