매달 5달러를 써서 자신의 블로그를 만들다

과학 기술에 관한 블로그를 쓰는 것은 매우 재미있다.자신의 블로그가 있으면 당신은 다른 사람을 돕고 자신의 기술을 연마할 수 있으며 아마도 당신에게 일자리를 찾을 수 있을 것입니다.
다른 사이트에 미디어, Dev.To 등 블로그를 쓰는 것은 정말 재미있다.분명히 내가 이렇게 했어. 너는 Dev.to에서 읽었어.하지만 자신의 사이트를 가지고 내용을 관리하는 것도 중요하다.이것은 너로 하여금 마음대로 일을 하고 개인 브랜드를 세울 수 있게 한다.
만약 당신이 이 강좌를 따른다면, 당신은 매달 5달러를 써서 자신의 정적 위탁 관리 블로그를 가질 수 있다.도메인 이름만 있으면 돼.

새 기계 만들기


우리는 우선 Digital Ocean 에서 가상 머신 (droplet) 을 만듭니다.
생성을 클릭하고 물방울을 선택합니다.

나는 이 때문에 FreeBSD를 선택했다. 만약 당신이 Linux를 선택하기로 결정했다면, 설명은 매우 비슷하다.
월 5달러 옵션 선택:

만약 이것이 새로운 블로그라면, 그것은 힘이 넘칠 것이다.가장 가까운 데이터 센터 영역을 선택하십시오.
신분 검증에 대해 저는 ssh를 사용합니다.이것은 단지 당신의 기계에 키를 생성하고 디지털 오션에 키를 업로드해야 한다는 것을 의미합니다.그러나 이것은 더욱 안전한 기계와 통신하는 선택이다.

참고: Windows, Linux 또는 Mac How to generate ssh keys 에 대한 좋은 강좌가 있습니다.
SSH 키를 추가하면 시작할 수 있습니다.

DNS 항목 만들기


DNS 항목을 만들어야 합니다.나는 DNS를 표시하기 위해 Route53 를 사용하지만, 너도 Digital Ocean 를 사용하여 DNS를 표시할 수 있다.

도메인이 마이크로/서버의 IP 주소에 매핑되는지 확인하십시오.

시스템 로그인


이제 물방울에 로그인합시다.FreeBSD를 사용하기 때문에 업데이트를 진행할 것입니다.
freebsd-update fetch install
이제 Git 및 Nginx를 설치합니다.
pkg install git
pkg install nginx
그리고 명령이 사용될 수 있도록 Rehash를 실행할 것입니다.
rehash

방화벽 규칙 추가


방화벽을 위한 규칙을 설정해야 합니다.
다음 명령을 사용하여sysrc를 변경합니다.
sysrc nginx_enable="YES"
sysrc firewall_enable="YES"
sysrc firewall_type="workstation"
sysrc firewall_myservices="22/tcp 80/tcp 443/tcp"
sysrc firewall_allowservices="any"
그리고 방화벽을 가동하세요.
sudo nohup service ipfw start >&/tmp/ipfw.log
Nginx 시작:
sudo service nginx start
보아야 할 것은:

이제 Nginx가 시작되고 HTTP 연결을 통해 시스템에서 실행됩니다.

개발 기계를 설치하다


Hugo를 사용하여 정적 사이트를 생성합니다.개발 시스템 환경에 따라 설치가 조금씩 다르므로 각 플랫폼(Windows/Mac/Linux/BSD)의 설치 설명을 반복하지 말고 다음 지침을 따르십시오.
시스템에 설치해야 합니다install Golang.
그리고 Install Hugo
이 기계에도 설치되어 있는지 확인하십시오Git.

새로운 우과 사이트 만들기


이제 새로운 사이트를 만듭니다.내 이름은 "silly blog"이므로 다음 명령을 실행합니다.
hugo new site sillyblog
우과는 당신에게 기본적인 주제와 블로그를 주지 않았기 때문에 find a theme 당신이 좋아하는 것이 필요합니다.
그리고 테마를 방금 만든 폴더의/themes 폴더에 복제하기만 하면 됩니다.
나는'우과 황혼'이라는 주제를 사용하기 때문에 이렇게 보인다.
cd sillyblog/themes
git clone https://github.com/gyorb/hugo-dusk.git
이제 설정에 테마를 추가해야 합니다.toml 파일.이것은 설치된 테마의 이름에 따라 달라집니다.대부분의 경우 그 이름과.git 파일.
echo 'theme = "hugo-dusk"' >> config.toml
이제 첫 번째 게시물을 작성합니다.
hugo new posts/my-first-post.md
파일 이름은 URL을 구성합니다.그래서 제 URL은요.

domain.com/posts/my-first-post/


이 점은 검색 엔진의 최적화에 있어서 매우 중요하다.
파일 내용/helloworld를 엽니다.의학 박사
다음과 같이 표시됩니다.
--------
title: "Helloworld"
date: 2020-02-29T00:24:30-08:00
draft: true
--------
여기서 너는 너의 첫 문장을 편집할 수 있다.
발표를 준비할 때, 초고:true를 초고:false로 변경하십시오.
hugo serve
쿨, 지금 우리는 로컬 기계에서 작동하는 블로그가 하나 있다.

당신은 서비스를 취소할 수 있습니다. 새로운 사이트를 만들려면 입력만 하면 됩니다
hugo
웹 사이트가 "공공"폴더에 생성되고 배치됩니다.

배치 설정


github 저장소 만들기
너의 블로그로 돌아가는/public 디렉터리 (나한테는 "silly blog")
저장소를 초기화합니다.
git init
그리고 당신의 첫 번째 약속을 하세요.
git commit -m "first commit"
github에 블로그의 원격 출처를 추가해야 합니다.나에게 있어서, 나는 그것을'simpleblog'라고 명명하지만, 너의 이름은 다를 것이다.
git remote add origin https://github.com/JeremyMorgan/simpleblog.git
그런 다음 파일을 Github로 전송합니다.(필요한 경우 Github 단계를 삭제하고 서버로 직접 전송할 수 있습니다.)
git push -u origin master
이제 파일이 Github repo로 전송되는 것을 보셔야 합니다.

서버 설정


지금 우리는 서버를 설치해야 한다.새 웹 사이트를 위한 폴더를 만들고'example.com'을 웹 사이트 이름으로 바꿉니다.
mkdir -p /usr/local/www/example.com/html
디렉터리의 소유권을 www for Nginx로 변경하십시오.
sudo chown -R www:www /usr/local/www/example.com
이제 해당 폴더에 사이트를 직접 복제할 수 있습니다.(이것은 당신이 발표할 때마다 해야 할 일입니다.)
git clone https://github.com/JeremyMorgan/simpleblog.git /usr/local/www/example.com/html/
마지막으로,nginx를 편집해야 합니다.이렇게 하면 너의 도메인 이름이 그 폴더를 가리킬 것이다.
vi /usr/local/etc/nginx/nginx.conf
다음 내용을 추가합니다. (도메인 이름으로 내 도메인 이름을 바꾸십시오.)
server {
    access_log /var/log/nginx/sillyblog.jeremymorgan.com.access.log;
    error_log /var/log/nginx/sillyblog.jeremymorgan.com.error.log;
    listen  80;
    server_name sillyblog.jeremymorgan.com;

    location / {
        root /usr/local/www/sillyblog.jeremymorgan.com/html;
        index index.html index.htm;
    }
    }
}
파일 하단의 위치에 있을 수 있습니다.

이제 파일을 저장하고 Nginx를 다시 로드합니다.
service nginx reload
그리고 비올라!우리 사이트 접속했어!!
하지만 포트 80에서는 HTTP입니다.그럴 수 없어요.

SSL용 Let's Encrypt 설치


우리는 Let's Encrypt 설치 인증서를 사용할 것입니다.Let's Encrypt의 가장 멋진 점은cert가 무료라는 점입니다donate,certbot은 거의 모든 설정을 완성할 수 있습니다.
certbot을 설치해야 합니다.
pkg install py37-certbot-dns-digitalocean
pkg install py37-certbot-nginx
그런 다음 --nginx 플래그를 사용하여 실행합니다.
certbot certonly --nginx
그것은 너에게 몇 가지 질문을 할 것이다.

그러면 Nginx 구성이 자동으로 수정됩니다.

마지막으로 이 사이트가 오픈되었습니다. https를 사용하세요!!

결론


이 강좌에서 우리는 다음과 같이 할 것이다.
  • 디지털 해양 가상 머신 설정
  • 설치된 Nginx
  • Hugo를 로컬 머신
  • 에 설치
  • 과 우과
  • 가 새로운 사이트를 만들었다
  • Git를 사용하여 새 서버로 밀어넣습니다.
  • 이 워크플로우는 다를 수 있지만 시작하기에 충분합니다.이 워크플로우에서 우리는 로컬 기기에 부품을 구축하고 Git를 사용하여 부품을 저장하여 서버로 이동합니다.또 다른 (더 좋은) 대체 방법은 전체 Hugo 폴더를git repo에 저장한 다음 서버에 제출하고 그 다음에 공작물을 구축하는 것입니다.
    나는 이 강좌를 너무 많이 불러오고 싶지 않지만, 미래의 강좌에서, 우리는 유사한 내용을 설정하고, 그것에 대해 CI/CD 조정을 진행할 것이다.
    만약 당신이 이것을 설치했다면 저에게 알려주세요!나는 항상 나의 강좌에 대한 피드백을 찾고 있다.

    좋은 웹페이지 즐겨찾기