<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Raspberry Archives - JIN&#039;s BOT</title>
	<atom:link href="https://jinsbot.com/tag/raspberry/feed/" rel="self" type="application/rss+xml" />
	<link>https://jinsbot.com/tag/raspberry/</link>
	<description>Coding + Engineering</description>
	<lastBuildDate>Fri, 24 Jun 2022 14:49:42 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.2</generator>
<site xmlns="com-wordpress:feed-additions:1">158124120</site>	<item>
		<title>오실로스코프 종류</title>
		<link>https://jinsbot.com/%ec%98%a4%ec%8b%a4%eb%a1%9c%ec%8a%a4%ec%bd%94%ed%94%84-type/</link>
					<comments>https://jinsbot.com/%ec%98%a4%ec%8b%a4%eb%a1%9c%ec%8a%a4%ec%bd%94%ed%94%84-type/#respond</comments>
		
		<dc:creator><![CDATA[geniuskpj]]></dc:creator>
		<pubDate>Fri, 24 Jun 2022 14:49:36 +0000</pubDate>
				<category><![CDATA[Embedded]]></category>
		<category><![CDATA[ARDUINO]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[Raspberry]]></category>
		<category><![CDATA[임베디드]]></category>
		<guid isPermaLink="false">http://222.117.132.157/?p=591</guid>

					<description><![CDATA[<p>HW/ Embedded 개발자라면 친하게 지낼 수 밖에 없는 오실로스코프 오실로스코프는 보통 전압을 보거나 아날로그 파형을 보기위해 쓰이지만 사실 디지털 신호를 분석하는데 특히 유용하다. 다만 종류에 따라 기능, 가격대가 다르니 이에 대해 알아보자. 탁상형 오실로스코프 일반적으로 말하는 오실로스코프가 이에 속한다. 고급형 제품들은 키사이트, 텍트로닉스, Lecroy 등에서 생산하며 수백만원 정도이다. 보급형 브랜드는 OWON, RIGOL, UNI-T 등이 있으며 [&#8230;]</p>
<p>The post <a href="https://jinsbot.com/%ec%98%a4%ec%8b%a4%eb%a1%9c%ec%8a%a4%ec%bd%94%ed%94%84-type/">오실로스코프 종류</a> appeared first on <a href="https://jinsbot.com">JIN&#039;s BOT</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>HW/ Embedded 개발자라면 친하게 지낼 수 밖에 없는 오실로스코프 </p>



<p>오실로스코프는 보통 전압을 보거나 아날로그 파형을 보기위해 쓰이지만</p>



<p>사실  디지털 신호를 분석하는데 특히 유용하다.</p>



<p>다만 종류에 따라 기능, 가격대가 다르니 이에 대해 알아보자.</p>



<p></p>



<h2 class="wp-block-heading">탁상형 오실로스코프</h2>



<p>일반적으로 말하는 오실로스코프가 이에 속한다.</p>



<p>고급형 제품들은 키사이트, 텍트로닉스, Lecroy 등에서 생산하며 수백만원 정도이다.</p>



<p>보급형 브랜드는 OWON, RIGOL, UNI-T 등이 있으며 수십만원 정도에 구매 가능하다.</p>



<p>보통 가격이 비쌀수록 대역폭이 높고 Sampling rate가 올라간다. </p>



<p>RF나 정밀 신호를 다루지 않는다면 보급형 브랜드 제품으로도 충분하다.</p>



<p>그리고 RIGOL 제품의 경우 MSO 제품군 혹은 ds1074z plus부터 디지털 디코딩이 가능하다.</p>



<figure class="wp-block-image size-full is-resized"><img fetchpriority="high" decoding="async" src="http://222.117.132.157/wp-content/uploads/2022/06/image-2.png" alt="RIGOL 오실로스코프 디코딩" class="wp-image-592" width="600" height="360" srcset="https://jinsbot.com/wp-content/uploads/2022/06/image-2.png 800w, https://jinsbot.com/wp-content/uploads/2022/06/image-2-300x180.png 300w, https://jinsbot.com/wp-content/uploads/2022/06/image-2-150x90.png 150w, https://jinsbot.com/wp-content/uploads/2022/06/image-2-768x461.png 768w" sizes="(max-width: 600px) 100vw, 600px" /></figure>



<p></p>



<p>하드웨어 디버깅을 해본 사람은 누구나 시리얼 신호나 디지털 신호선을 오실로스코프로 찍어본적 있을것이다.</p>



<p> 사람이 일일히 클럭에 맞춰서 계산해줄 수도 있지만 시간이 오래 걸리고 실수하기 쉽다.</p>



<p>반면 디지털 디코딩 기능을 활용하면 각종 시리얼 신호(RS232/UART) SPI, I2C 등의 디지털 신호를 알아서 해석해준다.</p>



<p>안타까운 점은 우리의 오실로스코프 제조사들은 이런 기능들은 옵션/라이센스 형태로 판매한다는 것이다.</p>



<p>옵션을 구매하고 코드를 입력해야만 시리얼 디코딩, Bandwidth 상향 등의 고급 기능들을  쓸 수 있다.</p>



<p>그나마 RIGOL 같은 저가형 브랜드는 수십만원에 불과하지만 고가 브랜드에서는  1~2백만원에 달한다.</p>



<p></p>



<h2 class="wp-block-heading">휴대용 오실로 스코프</h2>



<p></p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="http://222.117.132.157/wp-content/uploads/2022/06/image-3.png" alt="" class="wp-image-593" width="346" height="497" srcset="https://jinsbot.com/wp-content/uploads/2022/06/image-3.png 461w, https://jinsbot.com/wp-content/uploads/2022/06/image-3-209x300.png 209w, https://jinsbot.com/wp-content/uploads/2022/06/image-3-104x150.png 104w" sizes="(max-width: 346px) 100vw, 346px" /></figure>



<p>핸디 오실로스코프는 출장이나 이동이 잦은 엔지니어를 위한 오실로스코프이다.</p>



<p>화면이 약간 조악하긴 하지만 FFT 등  웬만한 기능은 다 제공하며 숫자로 볼 수 있는 멀티미터 모드도 제공한다.</p>



<p>따라서 고가(100만원 이상)의 전류 프로브를 사용하지 않아도 전류값을 볼 수 있는 장점이 있다.</p>



<p>화면이 작게 느껴질 수도 있지만 CSV파일을 PC에 전송하거나 전용 SW로 실시간으로 신호를 받아볼 수도 있다.</p>



<figure class="wp-block-image size-large is-resized"><img decoding="async" src="http://222.117.132.157/wp-content/uploads/2022/06/image-4-1024x560.png" alt="OWON 오실로스코프 PC" class="wp-image-594" width="512" height="280" srcset="https://jinsbot.com/wp-content/uploads/2022/06/image-4-1024x560.png 1024w, https://jinsbot.com/wp-content/uploads/2022/06/image-4-300x164.png 300w, https://jinsbot.com/wp-content/uploads/2022/06/image-4-150x82.png 150w, https://jinsbot.com/wp-content/uploads/2022/06/image-4-768x420.png 768w, https://jinsbot.com/wp-content/uploads/2022/06/image-4.png 1136w" sizes="(max-width: 512px) 100vw, 512px" /></figure>



<p></p>



<p>하지만 생각보다 가격이 저렴하지 않아서  동일가격 탁상용보다 성능이 떨어진다.</p>



<p>그러므로 공간 절약,휴대성과 성능 중에 무엇이 우선인지 선택하여 고르면 된다.</p>



<p>이외에 DSO NANO 등의 소형 저가 오실로 스코프가 있지만 완성도가 나쁘고</p>



<p> 성능이 매우 떨어지기때문에 추천하지 않는다.</p>



<p></p>



<h2 class="wp-block-heading">PC용 오실로스코프</h2>



<p>사실 위의 PC용 소프트웨어를 보면 작은 오실로스코프의 화면에서</p>



<p>버튼을 조작하기보단 PC에서 사용하는게 훨씬 편해 보일 것이다.</p>



<p>그런 사람들을 위해 LCD와 조작부를 없애고 가격을 낮춘게 PC용 오실로스코프이다.</p>



<p>저가형은 100MS/s 에 불과하지만 10만원대에 오실로스코프를 사용할 수 있다는건 큰 장점이다.</p>



<p>일반적인 용도로 사용하기엔 충분하며 일부 코드를 커스텀할 수도 있다.</p>



<p></p>



<h3 class="wp-block-heading">Logic Analyzer</h3>



<p>그렇다면 오실로스코프의 디지털 디코딩을 PC에서도 사용할 수 없을까?</p>



<p>이런 경우 로직 분석기 (logic analyzer)를 사용하면 된다.</p>



<p>불과 10~20만원대 제품으로도 수십만원짜리 옵션 못지 않게 유용하다.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="600" height="172" src="http://222.117.132.157/wp-content/uploads/2022/06/image-5.png" alt="" class="wp-image-595" srcset="https://jinsbot.com/wp-content/uploads/2022/06/image-5.png 600w, https://jinsbot.com/wp-content/uploads/2022/06/image-5-300x86.png 300w, https://jinsbot.com/wp-content/uploads/2022/06/image-5-150x43.png 150w" sizes="(max-width: 600px) 100vw, 600px" /></figure>



<p>디지털 디코딩 기능처럼 알아서 데이터를 해석해 주며 반대로 특정 신호를 보내는것도 가능하다.</p>



<p>나는 이걸 이용해 다이나믹셀 서보 모터를  AVR로 제어하는 코드를 만들었다.</p>



<p></p>



<h3 class="wp-block-heading">Analog Discovery</h3>



<p>디지털 디코딩도 되는 PC용 오실로 스코프를 찾는다면 digilent 사의 <a href="https://digilent.com/reference/test-and-measurement/analog-discovery-2/start" target="_blank" rel="noreferrer noopener">AD제품</a>을 이용하면 된다.</p>



<p>가격은 50만원대(학생일 경우 40만원대)로 조금 비싸지만 정말 다양한 기능을 제공한다.</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" src="http://222.117.132.157/wp-content/uploads/2022/06/image-6.png" alt="Analog Discovery javascript" class="wp-image-596" width="450" height="270" srcset="https://jinsbot.com/wp-content/uploads/2022/06/image-6.png 600w, https://jinsbot.com/wp-content/uploads/2022/06/image-6-300x180.png 300w, https://jinsbot.com/wp-content/uploads/2022/06/image-6-150x90.png 150w" sizes="(max-width: 450px) 100vw, 450px" /></figure>



<p>AD는 자바스크립트를 이용할 수 있는데 간단하게는 센서의 전압 신호를 </p>



<p>원하는 단위로 변환하는 식을 넣을 수도 있고 여러 바이트로 쪼개진 데이터를 합친다거나 할 수도 있다.</p>



<p>신호를 자유롭게 만들 수 있기때문에 MCU나 별도 프로그램 없이도 센서데이터를</p>



<p>확인해 볼 수 있다.</p>



<p>개인적으로 이 제품의 완성도가 좋아 대학원생때도 직장에서도 잘 쓰고 있다.</p>



<p></p>



<p></p>
<p>The post <a href="https://jinsbot.com/%ec%98%a4%ec%8b%a4%eb%a1%9c%ec%8a%a4%ec%bd%94%ed%94%84-type/">오실로스코프 종류</a> appeared first on <a href="https://jinsbot.com">JIN&#039;s BOT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jinsbot.com/%ec%98%a4%ec%8b%a4%eb%a1%9c%ec%8a%a4%ec%bd%94%ed%94%84-type/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">591</post-id>	</item>
		<item>
		<title>NAS 구축 : 아키텍쳐 선택</title>
		<link>https://jinsbot.com/nas-%ea%b5%ac%ec%b6%95-architecture/</link>
					<comments>https://jinsbot.com/nas-%ea%b5%ac%ec%b6%95-architecture/#respond</comments>
		
		<dc:creator><![CDATA[geniuskpj]]></dc:creator>
		<pubDate>Tue, 14 Jun 2022 16:07:35 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[NAS]]></category>
		<category><![CDATA[Raspberry]]></category>
		<category><![CDATA[라즈베리파이]]></category>
		<category><![CDATA[서버]]></category>
		<category><![CDATA[하드]]></category>
		<guid isPermaLink="false">http://222.117.132.157/?p=552</guid>

					<description><![CDATA[<p>이전 글들에서 설명이 부족했던 부분을 보충하고 NAS 구축 아키텍쳐에 대해 정리하겠다. NAS 상용 VS 자작 NAS 서버 OS별 장단점 기타 OS OpenMedia Vault OMV는 데비안 기반의 NAS용 OS이다. 장점 FreeNAS의 간편함+ 리눅스의 자유로움 Docker 기반 서비스 ARM(라즈베리 파이)을 지원함 단점 자료 부족 버전 업데이트 시 버그가 많고 잡히는데 시간걸림 생각보다 고사양 Docker 사용이 익숙치 않으면 [&#8230;]</p>
<p>The post <a href="https://jinsbot.com/nas-%ea%b5%ac%ec%b6%95-architecture/">NAS 구축 : 아키텍쳐 선택</a> appeared first on <a href="https://jinsbot.com">JIN&#039;s BOT</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>이전 글들에서 설명이 부족했던 부분을 보충하고 NAS 구축 아키텍쳐에 대해 정리하겠다.</p>



<ul class="wp-block-list"><li><a href="http://222.117.132.157/nas-setup-comparison/" target="_blank" rel="noreferrer noopener">NAS 상용 VS 자작</a></li><li><a href="http://222.117.132.157/nas-%ec%84%9c%eb%b2%84-os-comparison/" target="_blank" rel="noreferrer noopener">NAS 서버 OS별 장단점</a></li></ul>



<p></p>



<h2 class="wp-block-heading">기타 OS</h2>



<h3 class="wp-block-heading">OpenMedia Vault</h3>



<ul class="wp-block-list"><li><a href="https://namu.wiki/w/OpenMediaVault" target="_blank" rel="noreferrer noopener">OMV</a>는 데비안 기반의 NAS용 OS이다.</li><li>장점<ol><li>FreeNAS의 간편함+ 리눅스의 자유로움</li><li>Docker 기반 서비스</li><li>ARM(라즈베리 파이)을 지원함</li></ol></li><li>단점<ol><li>자료 부족</li><li>버전 업데이트 시 버그가 많고 잡히는데 시간걸림</li><li>생각보다 고사양</li><li>Docker 사용이 익숙치 않으면 유지보수 난이도 상승</li></ol></li></ul>



<p></p>



<p></p>



<h3 class="wp-block-heading">XPEnology</h3>



<p>일명 <a href="https://namu.wiki/w/XPEnology" target="_blank" rel="noreferrer noopener">해놀로지</a>는 시놀로지의 DSM을 올릴 수 있도록 만들어진 부트로더이다.</p>



<ul class="wp-block-list"><li>장점<ol><li>일반 데스크탑을 시놀로지 NAS처럼 사용 가능함</li><li>시놀로지의 장점을 가지면서 저렴한 가격으로 구성</li></ol></li></ul>



<ul class="wp-block-list"><li>단점<ol><li>엄밀히 따지면 불법에 가까움</li><li>보안, 업데이트, 안정성 문제</li><li>일부 안되는 기능 존재함</li></ol></li></ul>



<p></p>



<h2 class="wp-block-heading">NAS 구축 아키텍쳐는 뭘로 할까?</h2>



<h3 class="wp-block-heading">x86</h3>



<p>가정에 남는 구형 데스크탑이나 노트북을 활용해도 NAS 서버로 쓰기엔 충분하다.</p>



<p>x86은 ARM과 비교했을 때 지원하는 명령어셋이 많기때문에 범용성이 좋고  고성능이다.</p>



<p>저전력 셀러론이 ARM보다 성능이 우수하며 시놀로지 고급형 제품도 셀러론을 사용한다.</p>



<p>따라서 크기와 가격을 신경 쓰지 않는다면 굳이 ARM을 사용할 이유가 없다.</p>



<p>생각보다 전기료는 비싸지 않기 때문에  홈서버를 구축할 때는 </p>



<p><strong>구형 i5/i7</strong>이나 <strong>최신형 i3</strong> 제품을 추천한다.</p>



<p>이런 사양에서는 NAS서버로써만 아니라 웹서버로도 사용가능하고  VM도 돌릴 수 있다.</p>



<figure class="wp-block-table is-style-stripes"><table class="has-fixed-layout"><thead><tr><th class="has-text-align-center" data-align="center"></th><th>N5105</th><th>G7400</th><th>i3 &#8211; 12100</th><th>i5 -12400</th></tr></thead><tbody><tr><td class="has-text-align-center" data-align="center">TDP(W)</td><td>10</td><td>46</td><td>60</td><td>65</td></tr><tr><td class="has-text-align-center" data-align="center">가격</td><td>22만원대<br>(메인보드 포함)</td><td>8만원대</td><td>15만원대</td><td>23만원대</td></tr><tr><td class="has-text-align-center" data-align="center">코어/스레드</td><td>4/4</td><td>2/4</td><td>4/8</td><td>6/12</td></tr><tr><td class="has-text-align-center" data-align="center">클럭(GHz)</td><td>2.0</td><td>3.7</td><td>3.3</td><td>2.5</td></tr></tbody></table></figure>



<p>가격만큼 성능은 더 높아진다. 현재 12세대의 가격이 안정화되어 있지 않다.</p>



<p></p>



<h3 class="wp-block-heading">ARM</h3>



<p>라즈베리 파이와 <a href="https://www.hardkernel.com/ko/shop/odroid-hc4-oled/" target="_blank" rel="noreferrer noopener">오드로이드</a>를 통해서도 NAS 서버를 구축할 수 있다.</p>



<p>PI는 고성능 ARM 보드로 공대생 및 개발자들에게 각광받았었다.</p>



<p>그러나 막상 사고 나면 실사용처가 애매한데 NAS 서버나 간단한 홈서버, 셋탑으로  딱이다. </p>



<p>현재 이 블로그도 <a href="http://222.117.132.157/pi-docker-wordpress/" target="_blank" rel="noreferrer noopener">라즈베리파이 4B + Docker + WordPress</a> 환경에서 작성되었다.</p>



<p>라즈베리 파이는 SATA포트가 존재하지 않긴 하지만 대신 USB3를 사용할 수 있다.</p>



<h3 class="wp-block-heading">USB2,3 외장하드 이용시 속도 벤치마크</h3>



<iframe src="https://docs.google.com/spreadsheets/d/e/2PACX-1vRFQLQRCJGnI8OAgeLYuR3rGA5F4mWJvtNngTyNcpCmTp8nGOg3mYpt_VBEitXlrPiDZ7ZK_vi-BYh7/pubhtml?gid=332054871&amp;single=true&amp;widget=true&amp;headers=false" style="overflow-x:hidden; overflow:auto; width:550px; min-height:250px;"></iframe>



<ul class="wp-block-list"><li>2.5인치 하드에서 UAS는 큰 의미 없음</li><li>읽기속도는 hdparm을 통해 측정</li><li>쓰기속도는 <code data-enlighter-language="bash" class="EnlighterJSRAW"> sudo dd if=/dev/zero of=benchfile bs=8k count=50k conv=fsync </code>로 측정</li></ul>



<p>혹시 SATA포트가 꼭 필요하다면 NAS에 활용하기위한 <a href="https://wiki.radxa.com/News/2019/12/introduce-rockpi-sata-hat" target="_blank" rel="noreferrer noopener">주변기기</a>들을 사용할 수 있다.</p>



<p></p>



<h2 class="wp-block-heading">NAS 구축 Architecture 정리</h2>



<h3 class="wp-block-heading">x86</h3>



<ul class="wp-block-list"><li>장점<ol><li>우수한 범용성, 성능</li><li>풍부한 최신 자료</li><li>풍부한 호환 OS/SW </li></ol></li><li>단점<ol><li>셀러론 이외는 소비전력 높음</li><li>ARM보드 대비 가격이 비쌈</li><li>ARM보드 대비 부피가 큼 </li></ol></li></ul>



<p></p>



<h3 class="wp-block-heading">ARM</h3>



<ul class="wp-block-list"><li>장점<ol><li>저렴한 가격</li><li>소형 경량</li><li>저전력</li></ol></li><li>단점<ol><li>부족하고 정리되지않은 자료</li><li>저성능으로 인한 사용자 제한</li><li>ARM 지원 SW, docker 탐색 필요</li></ol></li></ul>



<p></p>



<p></p>



<p></p>
<p>The post <a href="https://jinsbot.com/nas-%ea%b5%ac%ec%b6%95-architecture/">NAS 구축 : 아키텍쳐 선택</a> appeared first on <a href="https://jinsbot.com">JIN&#039;s BOT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jinsbot.com/nas-%ea%b5%ac%ec%b6%95-architecture/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">552</post-id>	</item>
		<item>
		<title>wordpress , PI 를 위한 Docker 환경 구축</title>
		<link>https://jinsbot.com/pi-docker-wordpress/</link>
					<comments>https://jinsbot.com/pi-docker-wordpress/#respond</comments>
		
		<dc:creator><![CDATA[geniuskpj]]></dc:creator>
		<pubDate>Fri, 03 Jun 2022 14:25:07 +0000</pubDate>
				<category><![CDATA[Embedded]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[Raspberry]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[라즈베리]]></category>
		<category><![CDATA[워드프레스]]></category>
		<guid isPermaLink="false">http://222.117.132.157/?p=385</guid>

					<description><![CDATA[<p>개요 Raspberry PI 3에서 만들었던 wordpress 를 Raspberry PI 4로 이전하는 중이다. 당시 주류였던 APM (Apache + PHP + Mysql)으로 구축했었으나 그대로 이전하기는 골치아팠다. 그래서 개인 클라우드 구축에 잘 활용중인 Docker로 환경을 구축하게 되었다. Docker환경에서 wordpress 사이트 구축 Docker는 약간의 성능(10~20%)을 희생하고 셋업,디버깅의 편의성을 극대화 해준다. 환경 구축을 위한 여러가지 방법이 있지만 docker-compose를 가장 추천한다. [&#8230;]</p>
<p>The post <a href="https://jinsbot.com/pi-docker-wordpress/">wordpress , PI 를 위한 Docker 환경 구축</a> appeared first on <a href="https://jinsbot.com">JIN&#039;s BOT</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">개요</h2>



<p>Raspberry PI 3에서 만들었던 wordpress 를 Raspberry PI 4로 이전하는 중이다.</p>



<p>당시 주류였던 APM (Apache + PHP + Mysql)으로 구축했었으나 그대로 이전하기는 골치아팠다.</p>



<p>그래서 개인 클라우드 구축에 잘 활용중인 <a href="https://namu.wiki/w/Docker" target="_blank" rel="noreferrer noopener">Docker</a>로 환경을 구축하게 되었다.</p>



<p></p>



<h2 class="wp-block-heading">Docker환경에서 wordpress 사이트 구축</h2>



<p>Docker는 약간의 성능(10~20%)을 희생하고 셋업,디버깅의 편의성을 극대화 해준다.</p>



<p>환경 구축을 위한 여러가지 방법이 있지만 docker-compose를 가장 추천한다.</p>



<p>docker-compose는 apt를 통해 간단하게 설치할 수 있고 스크립트를 통해 docker를 제어하게 해준다.</p>



<p>이번에 사용된 docker-compose.yml을 다음과 같다.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="dracula" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">version: "3.6"
    
services:
  wordpress:
    container_name: wordpress
    depends_on:
      - db
    image: wordpress
    volumes:
      - wordpress_data:/var/www/html
      - ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
    ports:
     - "80:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: **
      WORDPRESS_DB_NAME: wordpress
      
  db:
    container_name: mysql
    image: jsurf/rpi-mariadb
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: ****
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: **      

volumes:
  db_data: {}
  wordpress_data: {}</pre>



<p><strong>셋업 환경: Raspberry PI 4 (Raspbian Buster)</strong></p>



<p>Docker 이미지들은  Linux에서 호환성이 좋지만 Raspbian은 version에 따라 호환되지 않는 경우도 많다.</p>



<p>또한 yml에서는 python과 마찬가지로 공백으로 구조체를 구분하기때문에 오류가 발생할 시 이를 잘 수정해보길 바란다.</p>



<p>위 파일에서 사용된 간단한 키워드에 대해 설명하겠다.</p>



<pre class="wp-block-code"><code lang="yaml" class="language-yaml">container_name: docker ps에서 보이는 container의 이름을 지정
image: '/'를 기준으로 앞부분은 architecture나 구분자(저자)를 의미하고 ':'뒤에 태그(종류)를 지정
volumes: 컨테이너의 내용을 특정 로컬 폴더에 저장, volume에 저장되지 않은 내용은 재시작시 삭제됨
environment: 환경변수, image별로 사전에 정의되어야 하는 변수는 다름</code></pre>



<p>images 예시) arm64v8/wordpress:6-php7.4-apache</p>



<p>일반적인 경우 docker에서 적절한 architecture를 선정해주지만 호환성을 위해 별도(arm32v7 ) 지정해야할 수 있다.</p>



<p>사용자에 따라 원하는 환경이 다를 수 있는데 docker에서는 이를 tag로 구분한다.</p>



<p>위에서 6은 wordpress 6을 의미하며 이외에도 fpm, alpine 등의 키워드를 추가할 수 있다.</p>



<p>volumes는 하단에서 어떤 volume을 만들 것인지 정의해 줘야 하며 그 이름은 service 이름으로 해주어도 상관없다.</p>



<p>&#8216;/&#8217;를 사용하는 절대 경로를 사용할 수도 있고  위처럼 키워드를 사용할 수도 있는데</p>



<p>키워드를 사용한 경우 &#8216;/var/lib/docker/volumes/컨테이너이름_키워드/_data/&#8217;에 저장된다.</p>



<p>docker-compose에서 핵심적인 요소는 어떤 image를 사용하느냐이고 되도록이면 공식 image를 추천한다.</p>



<p>wordpress 공식 이미지는 Raspbian Buster를 지원하지만 mariadb는 그렇지 않다.</p>



<p>&#8216;linuxserver/mariadb&#8217;,&#8217;yobasystems/alpine-mariadb&#8217; 등 다양한 mariadb image가 존재하지만 buster에서 제대로 동작하지 않는다.</p>



<p>&#8216;<strong>jsurf/rpi-mariadb</strong>&#8216;는 PI에서 가장 많이 쓰이는 mariadb 이미지 중 하나이며 buster에서도 정상 동작한다.</p>



<p>한가지 더 주의할 점은 잘못된 이미지를 사용하더라도 실제 구동시에는 정상동작하는것처럼 보인다.</p>



<p>그러므로 docker ps를 통해서 정상동작 여부를 확인해야한다.</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" src="http://222.117.132.157/wp-content/uploads/2022/06/image.png" alt="wordpress 를 구동하고 docker ps로 확인한 결과" class="wp-image-440" width="474" height="67" title="" srcset="https://jinsbot.com/wp-content/uploads/2022/06/image.png 474w, https://jinsbot.com/wp-content/uploads/2022/06/image-300x42.png 300w" sizes="(max-width: 474px) 100vw, 474px" /></figure>



<p>보통 command에 docker-entrypoint 이외의 값이 뜨면 구동과정에서 문제가 발생한 것이다.</p>



<p></p>



<p>uploads.ini는 docker-compose.yml과 같은 폴더에 존재하며 다음 값이 담겨져 있다.</p>



<pre class="wp-block-code"><code lang="php" class="language-php">file_uploads = On
memory_limit = 500M
upload_max_filesize = 500M
post_max_size = 500M
max_execution_time = 600</code></pre>



<p>기본적으로 wordpress는 업로드 파일 사이즈를 제한하기때문에  그 설정을 변경하기 위한 것이다.</p>



<p>이 설정은 워드프레스와는 다른 위치에 저장되기때문에 volumes에 별도로 정의되어야한다.</p>



<p></p>



<h2 class="wp-block-heading">요약</h2>



<ul class="wp-block-list"><li>Docker는 셋업 및 유지보수를 용이하게 만들어줌</li><li>Raspberry PI에서는 mariadb image를 적절하게 골라야함</li><li>docker ps를 통해 정상동작 여부를 확인해야함</li></ul>
<p>The post <a href="https://jinsbot.com/pi-docker-wordpress/">wordpress , PI 를 위한 Docker 환경 구축</a> appeared first on <a href="https://jinsbot.com">JIN&#039;s BOT</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jinsbot.com/pi-docker-wordpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">385</post-id>	</item>
	</channel>
</rss>
