mirror of
https://github.com/dunwu/linux-tutorial.git
synced 2024-04-15 19:55:24 +08:00
82 lines
2.4 KiB
Bash
82 lines
2.4 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
###################################################################################
|
|
# 控制台颜色
|
|
BLACK="\033[1;30m"
|
|
RED="\033[1;31m"
|
|
GREEN="\033[1;32m"
|
|
YELLOW="\033[1;33m"
|
|
BLUE="\033[1;34m"
|
|
PURPLE="\033[1;35m"
|
|
CYAN="\033[1;36m"
|
|
RESET="$(tput sgr0)"
|
|
###################################################################################
|
|
|
|
printf "${BLUE}\n"
|
|
cat << EOF
|
|
###################################################################################
|
|
# 采用编译方式安装 Nginx, 并将其注册为 systemd 服务
|
|
# 默认下载安装 1.16.0 版本,安装路径为:/usr/local/nginx
|
|
# @system: 适用于 CentOS7+
|
|
# @author: Zhang Peng
|
|
###################################################################################
|
|
EOF
|
|
printf "${RESET}\n"
|
|
|
|
command -v yum > /dev/null 2>&1 || {
|
|
printf "${RED}Require yum but it's not installed.${RESET}\n";
|
|
exit 1;
|
|
}
|
|
|
|
printf "\n${GREEN}>>>>>>>> install nginx begin${RESET}\n"
|
|
|
|
if [[ $# -lt 1 ]] || [[ $# -lt 2 ]]; then
|
|
printf "${PURPLE}[Hint]\n"
|
|
printf "\t Usage: sh nginx-install.sh [version] \n"
|
|
printf "\t Default: sh nginx-install.sh 1.16.0 \n"
|
|
printf "\t Example: sh nginx-install.sh 1.16.0 \n"
|
|
printf "${RESET}\n"
|
|
fi
|
|
|
|
temp=/opt/nginx
|
|
version=1.16.0
|
|
if [[ -n $1 ]]; then
|
|
version=$1
|
|
fi
|
|
|
|
# install info
|
|
printf "${PURPLE}[Install Info]\n"
|
|
printf "\t version = ${version}\n"
|
|
printf "${RESET}\n"
|
|
|
|
printf "${CYAN}>>>> install required libs${RESET}\n"
|
|
yum install -y zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre
|
|
|
|
# download and decompression
|
|
printf "${CYAN}>>>> download nginx${RESET}\n"
|
|
mkdir -p ${temp}
|
|
curl -o ${temp}/nginx-${version}.tar.gz http://nginx.org/download/nginx-${version}.tar.gz
|
|
tar zxf ${temp}/nginx-${version}.tar.gz -C ${temp}
|
|
|
|
# configure and makefile
|
|
printf "${CYAN}>>>> compile nginx${RESET}\n"
|
|
cd ${temp}/nginx-${version}
|
|
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre
|
|
make && make install
|
|
rm -rf ${temp}
|
|
cd -
|
|
|
|
# setting systemd service
|
|
printf "${CYAN}>>>> set nginx as a systemd service${RESET}\n"
|
|
wget -N https://gitee.com/turnon/linux-tutorial/raw/master/codes/linux/soft/config/nginx/nginx.service -O /usr/lib/systemd/system/nginx.service
|
|
chmod +x /usr/lib/systemd/system/nginx.service
|
|
|
|
# boot nginx
|
|
printf "${CYAN}>>>> start nginx${RESET}\n"
|
|
systemctl enable nginx.service
|
|
systemctl start nginx.service
|
|
|
|
printf "\n${GREEN}<<<<<<<< install nginx end${RESET}\n"
|
|
printf "\n${PURPLE}nginx service status: ${RESET}\n"
|
|
systemctl status nginx
|