nginx_add_site.sh 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/bin/bash
  2. CURRENT_DIR=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
  3. source ${CURRENT_DIR}/../common/common.sh
  4. [ $(id -u) != "0" ] && { ansi -n --bold --bg-red "请用 root 账户执行本脚本"; exit 1; }
  5. read -r -p "请输入项目名:" project
  6. [[ $project =~ ^[a-zA-Z\0-9_\-\.]+$ ]] || {
  7. ansi -n --bold --bg-red "项目名包含非法字符"
  8. exit 1
  9. }
  10. read -r -p "请输入站点域名(多个域名用空格隔开):" domains
  11. project_dir="/var/www/${project}"
  12. ansi -n --bold --green "域名列表:${domains}"
  13. ansi -n --bold --green "项目名:${project}"
  14. ansi -n --bold --green "项目目录:${project_dir}"
  15. read -r -p "是否确认? [y/N] " response
  16. case "$response" in
  17. [yY][eE][sS]|[yY])
  18. ;;
  19. *)
  20. ansi -n --bold --bg-red "用户取消"
  21. exit 1
  22. ;;
  23. esac
  24. cat ${CURRENT_DIR}/nginx_site_conf.tpl |
  25. sed "s|{{domains}}|${domains}|g" |
  26. sed "s|{{project}}|${project}|g" |
  27. sed "s|{{project_dir}}|${project_dir}|g" > /etc/nginx/sites-available/${project}.conf
  28. ln -sf /etc/nginx/sites-available/${project}.conf /etc/nginx/sites-enabled/${project}.conf
  29. ansi -n --bold --green "配置文件创建成功";
  30. mkdir -p ${project_dir} && chown -R ${WWW_USER}.${WWW_USER_GROUP} ${project_dir}
  31. systemctl restart nginx.service
  32. ansi -n --bold --green "Nginx 重启成功";