징크스 해제 - nginx 주변의 마법 래퍼

This post was originally published on my personal blog.



나는 뭔가를 만들었기 때문에 이 게시물에 대해 매우 흥분됩니다! 네, 실제로 제 두 손으로 물건을 만들어서 이제 공개합니다! 당신에게 선물합니다: 징크스

배경 이야기로 아주 최근에killed my entire server infrastructure 실수로 매우 짧은 기간에 너무 많은 Let's Encrypt 계정을 생성했습니다. 정말 재밌었고 토요일의 대부분을 백업 nginx 설정에서 모든 것을 백업하는 데 보냈습니다.

그 일환으로 저는 가상 호스트를 설정하는 데 매우 반복적인 패턴을 빠르게 발견했습니다. 모든 사이트에 대해 이런 식으로 진행되었습니다.

# create a new site
cp \
    /etc/nginx/configurations/php.conf \
    /etc/nginx/sites-available/pretzelhands.com.conf

# change the host name to the new site name
nano /etc/nginx/sites-available/pretzelhands.com.conf  

# activate the site in nginx
ln -s \
    /etc/nginx/sites-available/pretzelhands.com.conf \
    /etc/nginx/sites-enabled

# restart to publish newly activated sites
systemctl restart nginx
^R를 사용하면 조금 더 빠르지만 여전히 엄청나게 지루했습니다. 그것은 4개의 다른 명령이고 동일하거나 유사한 경로를 무려 네 번 입력해야 합니다. 기분이 좋지 않아서 쉘 스크립팅에 대해 얼마나 많이 썼는지 기억이 났습니다.
최근에 그것을 활용하여 징크스를 만들기로 결정했습니다.

그것으로 이 동일한 프로세스는 이제 다음과 같습니다.

# create a new site and insert hostname in template file
jinx site create pretzelhands.com php

# activate the site and restart
jinx site activate pretzelhands.com -r

4개의 길고 반복적인 명령에서 2개의 매우 짧은 명령까지. 정말 좋은 개선입니다. 그리고 그것은 내 일요일 오후에만 비용이 들었습니다.

초기 개발 노력은 사이트를 수동으로 설정하는 것보다 더 많았을지 모르지만 여전히 재미있고 항상 재사용할 수 있기 때문에 그것을 했다는 것이 기쁩니다. 새 가상 호스트를 생성할 때마다 이 도구를 사용하면 반복 입력 시간을 약 2-3분 정도 절약할 수 있습니다.

몇 가지 다른 기능도 있지만 사용할 수 있습니다read up on everything in the documentation .

나는 이것이 아마도 지금까지 내 단일 프로젝트 중 가장 유용한 부수적 프로젝트라는 것을 자유롭게 인정합니다. 또한 그것은 승인을 받았기 때문에 그것이 중요하다고 생각합니다!


프레첼 손 / 재수 없는 물건


✨jinx - 마법의 nginx 래퍼






jinx - a magical nginx wrapper

jinx는 전적으로 Bash로 작성된 nginx용 래퍼 스크립트입니다. 일반 셸 명령으로 작업하는 것보다 더 간소화된 방식으로 사이트 및 구성을 관리하는 데 도움이 됩니다.

목차


  • Prerequisites
  • Installation
  • Updating
  • Deinstallation

  • Configuring jinx
  • Setting options
  • Getting options
  • Available options


  • Using the commands
  • jinx start|restart|stop
  • jinx logs
  • jinx site
  • jinx site activate
  • jinx site deactivate
  • jinx site delete
  • jinx site create
  • jinx site edit



  • Templating
  • Naming of templates
  • Default template
  • Replacement variables

  • Miscellaneous
  • Contributors

  • 전제 조건


    이것은 jinx의 초기 릴리스이므로 여전히 환경에 대한 몇 가지 가정이 있습니다. 현재 이들은 다음과 같습니다.

  • 귀하의 사이트는 sites-availablesites-enabled 두 개의 폴더로 구성됩니다. 전자는 잠재적으로 호스팅할 수 있는 모든 사용 가능한 사이트를 포함하고 후자는 웹에서 연결할 수 있는 사이트를 포함합니다.

  • 설치


    징크스 설치는 편리한 인스톨러 스크립트를 사용하여 한 줄로 할 수 있습니다…

    View on GitHub


    나는 당신이 나만큼 이 도구를 유용하고 실용적으로 사용하기를 바라며 HTTPS 활성화 및 포함된 스니펫에서 구성 구축과 같은 좀 더 유용한 기능으로 도구를 확장하려고 노력할 것입니다. 어디까지 갈 수 있는지 보자!

    즐기세요!~

    좋은 웹페이지 즐겨찾기