原始碼安裝nginx目錄
- 編譯安裝
- 1.解決依賴關系
- 2.下載nginx原始碼包
- 3.解壓nginx原始碼包并編譯開始安裝
- 4.啟動
- 5.撰寫啟動腳本
- 匯入編譯完安裝包
- 1.下載編譯完的原始碼包并解壓
- 2.配置log目錄和web目錄
- 3.啟動腳本使用
- 啟動腳本
- php安裝
編譯安裝
1.解決依賴關系
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel //安裝編譯的依賴
2.下載nginx原始碼包
yum -y install wget
wget http://nginx.org/download/nginx-1.19.5.tar.gz
3.解壓nginx原始碼包并編譯開始安裝
tar xzf nginx-1.19.5.tar.gz
cd nginx-1.19.5
./configure --prefix=/srv/nginx
make && make install
nginx大部分常用模塊,編譯時./configure --help以–without開頭的都默認安裝,
–prefix=PATH : 指定nginx的安裝目錄,如 /srv/nginx
4.啟動
/srv/nginx/sbin/nginx -c /srv/nginx/conf/nginx.conf //nginx啟動并選擇要啟動的組態檔
kill -15 `cat /srv/nginx/logs/nginx.pid` //nginx啟動后可以根據它啟動的pid來進行結束行程
/srv/nginx/sbin/nginx -s reload -c /srv/nginx/conf/nginx.conf //nginx啟動后重啟
5.撰寫啟動腳本
翻到最后
匯入編譯完安裝包
1.下載編譯完的原始碼包并解壓
cd /srv && curl -o nginx.tar.gz http://182.92.165.158/nginx.tar.gz //切換到srv目錄下開始下載
cd /srv && tar xzf nginx.tar.gz //解壓
2.配置log目錄和web目錄
mkdir -p /data/web/www
mkdir -p /data/log/nginx/
echo "test" > /data/log/nginx/index.html
3.啟動腳本使用
wget http://182.92.165.158/nginx_install.sh
bash nginx_install start //使用引數有:start|stop|reload|status|test
啟動腳本
#!/bin/bash
pid="/srv/nginx/logs/nginx.pid"
ng_b=`netstat -nlpt | grep 80`
ng_a=$?
install() {
cd /
mkdir /srv
mkdir -p /data/web/www
mkdir -p /data/log/nginx/
echo "test" > /data/log/nginx/index.html
cd /srv && curl -o nginx.tar.gz http://182.92.165.158/nginx.tar.gz
tar xzf /srv/nginx.tar.gz
echo "nginx安裝完畢"
}
start() {
if [ $ng_a == 0 ]; then
echo "埠被占用無法啟動"
read -p "是否需要停止nginx服務(y/n)" yn
if [ $yn == "y" -o $yn == "Y" ]; then
stop
elif [ $yn == "n" -o $yn == "N" ]; then
echo "命令退出"
else
echo "請輸入(y/n)"
fi
stop
elif [ $ng_a == 1 ]; then
/srv/nginx/sbin/nginx -c /srv/nginx/conf/nginx.conf
echo "開始啟動"
netstat -nlpt | grep 80 &>/dev/null
if [ $? == 0 ]; then
echo "nginx啟動成功"
else
echo "nginx啟動失敗"
fi
else
echo "nginx服務器有問題請檢查"
fi
}
stop() {
if [ $ng_a == 0 ]; then
kill -15 `cat $pid`
echo "開始停止"
sleep 1s
netstat -nlpt | grep 80 &>/dev/null
if [ $? == 0 ]; then
echo "nginx停止失敗"
else
echo "nginx停止成功"
fi
elif [ $ng_a == 1 ]; then
echo "nginx尚未啟動無法停止"
else
echo "nginx服務器有問題請檢查"
fi
}
reload() {
if [ $ng_a == 0 ]; then
/srv/nginx/sbin/nginx -s reload -c /srv/nginx/conf/nginx.conf
echo "開始重啟"
netstat -nlpt | grep 80 &>/dev/null
if [ $? == 0 ]; then
echo "nginx重啟成功"
else
echo "nginx重啟失敗"
fi
elif [ $ng_a == 1 ]; then
echo "nginx尚未啟動無法重啟"
read -p "是否需要啟動nginx服務(y/n)" ynn
if [ $ynn == "y" -o $ynn == "Y" ]; then
start
elif [ $ynn == "n" -o $ynn == "N" ]; then
echo "命令退出"
else
echo "請輸入(y/n)"
fi
else
echo "nginx服務器有問題請檢查"
fi
}
test() {
echo "開始監測nginx組態檔"
/srv/nginx/sbin/nginx -c /srv/nginx/conf/nginx.conf -t &>/dev/null
if [ $? == 0 ]; then
echo -e "\033[32m nginx組態檔正常 \033[0m"
elif [ $? == 1 ]; then
echo "\033[31m nginx組態檔有問題 \033[0m"
/srv/nginx/sbin/nginx -c /srv/nginx/conf/nginx.conf -t
else
echo "\033[31m nginx請檢查組態檔 \033[0m"
fi
}
case $1 in
install)
install
;;
start)
start
;;
stop)
stop
;;
reload)
reload
;;
status)
echo $ng_b
;;
test)
test
;;
*)
echo "start|stop|reload|status|test"
;;
esac
php安裝
php原始碼安裝
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/233082.html
標籤:其他
下一篇:物聯網傳輸資料的方式有哪些?
