mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-03 16:51:40 +09:00
parent
73c6b70ac1
commit
c23c8ee24c
3 changed files with 159 additions and 332 deletions
|
|
@ -1,331 +0,0 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
<style>
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
p,
|
||||
blockquote {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
body {
|
||||
font-family: "Helvetica Neue", Helvetica, "Hiragino Sans GB", Arial, sans-serif;
|
||||
font-size: 13px;
|
||||
line-height: 18px;
|
||||
color: #737373;
|
||||
background-color: white;
|
||||
margin: 10px 13px 10px 13px;
|
||||
}
|
||||
table {
|
||||
margin: 10px 0 15px 0;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
td,th {
|
||||
border: 1px solid #ddd;
|
||||
padding: 3px 10px;
|
||||
}
|
||||
th {
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #0069d6;
|
||||
}
|
||||
a:hover {
|
||||
color: #0050a3;
|
||||
text-decoration: none;
|
||||
}
|
||||
a img {
|
||||
border: none;
|
||||
}
|
||||
p {
|
||||
margin-bottom: 9px;
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
color: #404040;
|
||||
line-height: 36px;
|
||||
}
|
||||
h1 {
|
||||
margin-bottom: 18px;
|
||||
font-size: 30px;
|
||||
}
|
||||
h2 {
|
||||
font-size: 24px;
|
||||
}
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
}
|
||||
h4 {
|
||||
font-size: 16px;
|
||||
}
|
||||
h5 {
|
||||
font-size: 14px;
|
||||
}
|
||||
h6 {
|
||||
font-size: 13px;
|
||||
}
|
||||
hr {
|
||||
margin: 0 0 19px;
|
||||
border: 0;
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
||||
blockquote {
|
||||
padding: 13px 13px 21px 15px;
|
||||
margin-bottom: 18px;
|
||||
font-family:georgia,serif;
|
||||
font-style: italic;
|
||||
}
|
||||
blockquote:before {
|
||||
content:"\201C";
|
||||
font-size:40px;
|
||||
margin-left:-10px;
|
||||
font-family:georgia,serif;
|
||||
color:#eee;
|
||||
}
|
||||
blockquote p {
|
||||
font-size: 14px;
|
||||
font-weight: 300;
|
||||
line-height: 18px;
|
||||
margin-bottom: 0;
|
||||
font-style: italic;
|
||||
}
|
||||
code, pre {
|
||||
font-family: Monaco, Andale Mono, Courier New, monospace;
|
||||
}
|
||||
code {
|
||||
background-color: #fee9cc;
|
||||
color: rgba(0, 0, 0, 0.75);
|
||||
padding: 1px 3px;
|
||||
font-size: 12px;
|
||||
-webkit-border-radius: 3px;
|
||||
-moz-border-radius: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
pre {
|
||||
display: block;
|
||||
padding: 14px;
|
||||
margin: 0 0 18px;
|
||||
line-height: 16px;
|
||||
font-size: 11px;
|
||||
border: 1px solid #d9d9d9;
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
pre code {
|
||||
background-color: #fff;
|
||||
color:#737373;
|
||||
font-size: 11px;
|
||||
padding: 0;
|
||||
}
|
||||
sup {
|
||||
font-size: 0.83em;
|
||||
vertical-align: super;
|
||||
line-height: 0;
|
||||
}
|
||||
* {
|
||||
-webkit-print-color-adjust: exact;
|
||||
}
|
||||
@media screen and (min-width: 914px) {
|
||||
body {
|
||||
width: 854px;
|
||||
margin:10px auto;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
body,code,pre code,h1,h2,h3,h4,h5,h6 {
|
||||
color: black;
|
||||
}
|
||||
table, pre {
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<title>Nginx 리라이트 설정하기</title>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<h1>Nginx 리라이트 설정하기</h1>
|
||||
|
||||
<h2>개요</h2>
|
||||
|
||||
<p><strong>Rewrite</strong>는 주로 짧은 주소를 구현하기 위해 사용됩니다. 예를 들자면</p>
|
||||
|
||||
<pre><code>https://example.com/index.php?mid=freeboard&document_srl=181
|
||||
</code></pre>
|
||||
|
||||
<p>이라는 복잡한 주소를</p>
|
||||
|
||||
<pre><code>https://example.com/freeboard/181
|
||||
</code></pre>
|
||||
|
||||
<p>처럼 <strong>사람이 읽고 인식하기에 편한 주소로 바꾸어 주는 기능을 담당</strong>합니다.</p>
|
||||
|
||||
<p>아파치의 경우 .htaccess 파일에서 mod_rewrite 모듈을 이용하여 리라이트를 할 수 있습니다. 하지만 엔진엑스의 경우 엔진엑스의 설정 파일을 수정해야 합니다.</p>
|
||||
|
||||
<h2>요약</h2>
|
||||
|
||||
<p><strong>적용하기</strong> 부터는 상세하게 설명하게 됩니다. 상세하게 설명하면 실제로는 전혀 어렵지 않은 이야기를 어렵게 설명하거나, 길이 때문에 지레 포기하는 경우가 생기기 때문에 간략하게 세줄 요약하도록 하겠습니다.</p>
|
||||
|
||||
<ol>
|
||||
<li>엔진엑스의 설정 파일을 열고</li>
|
||||
<li>rhymix-nginx.conf 파일을 인클루드 하고</li>
|
||||
<li>엔진엑스 재시작</li>
|
||||
</ol>
|
||||
|
||||
|
||||
<h2>적용하기</h2>
|
||||
|
||||
<p>엔진엑스의 설정 파일은 우분투를 기준으로 하여</p>
|
||||
|
||||
<pre><code>/etc/nginx/nginx.conf
|
||||
</code></pre>
|
||||
|
||||
<p>에 존재합니다. 만약 자신의 엔진엑스의 설정 파일이 다른 곳에 있다면, 어디에 있는지 미리 찾아서 경로를 메모해 두도록 합시다.</p>
|
||||
|
||||
<pre><code>sudo find / -name nginx.conf
|
||||
</code></pre>
|
||||
|
||||
<p>커맨드를 이용하여 엔진엑스의 설정 파일을 검색할 수 있습니다. 관리자 권한으로 nginx.conf라는 이름을 가진 파일을 최상위(/) 디렉터리부터 검색하라는 의미입니다.</p>
|
||||
|
||||
<p>또한, nginx.conf를 수정하기 위해서는 nginx.conf를 수정할 수 있는 에디터가 필요합니다. 따라서 초보자가 가장 사용하기 좋은 'nano'를 설치해 보도록 하겠습니다.</p>
|
||||
|
||||
<pre><code>apt-get install nano
|
||||
</code></pre>
|
||||
|
||||
<p>이 명령어를 이용하면 nano 에디터를 설치할 수 있습니다. 물론 익숙한 에디터가 있다면 익숙한 에디터를 이용하도록 합시다.</p>
|
||||
|
||||
<p>이제 본격적으로 nginx.conf를 편집해 보도록 하겠습니다. 먼저, rhymix에서 사용되는 php 쿼리 주소들을 정리한 파일이 필요합니다. 해당 파일을 만든 뒤에 nginx.conf에 인클루드 함으로서 리라이트를 진행해 보도록 하겠습니다.</p>
|
||||
|
||||
<p>먼저 nano의 기본적인 조작법을 알아볼 필요가 있습니다. 더 강력한 조작법이 분명히 있지만, 굳이 이번 가이드에서는 다루지 않겠습니다.</p>
|
||||
|
||||
<pre><code>ctrl + o #저장
|
||||
ctrl + x #닫기
|
||||
화살표 키 #커서 이동
|
||||
</code></pre>
|
||||
|
||||
<p>이 매뉴얼과 같은 디렉터리에 존재하는 'rhymix-nginx.conf' 파일을 nginx.conf가 위치한 디렉터리(/etc/nginx)로 이동해 보도록 합시다. 방법은 FTP에서 드래그 앤 드롭으로 옮기셔도, 아니면 터미널 상에서 명령어를 이용해서 옮기셔도 좋습니다.</p>
|
||||
|
||||
<p>이제 <strong>nginx.conf</strong> 파일을 수정해 보도록 하겠습니다. rhymix-nginx.conf 파일을 <strong>nginx.conf</strong> 파일에 인클루드 하는게 기본적인 과정입니다.</p>
|
||||
|
||||
<p>먼저 <strong>nginx.conf</strong> 파일을 열어줍니다. (이때, 엔진엑스에서 가상 서버 기능을 사용하고 있는 경우에는 각 서버의 설정 파일을 수정해 줘야 합니다.)</p>
|
||||
|
||||
<pre><code>nano nginx.conf
|
||||
</code></pre>
|
||||
|
||||
<p>nginx.conf 설정 파일을 여실 수 있을겁니다. 설정 파일에는 크게 두가지 <strong>블럭</strong>이 존재합니다. 첫번째는 <strong>http{}</strong> 형태로 구성되어 있는 <strong>http 블럭</strong>, 두번째는 <strong>server{}</strong> 형태로 존재하는 <strong>server 블럭</strong> 입니다. <strong>nginx.conf</strong> 파일은</p>
|
||||
|
||||
<pre><code>http {
|
||||
server {}
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<p>위와 같이 구조가 짜여있는걸 확인하실 수 있는데(물론 event, worker_processes와 같은 부분도 있습니다만, 이 부분은 여기서 다루지 않겠습니다.), 우리가 주목해야 할 것은</p>
|
||||
|
||||
<pre><code>server {}
|
||||
</code></pre>
|
||||
|
||||
<p>블럭입니다. server 블럭에 <strong>rhymix-nginx.conf</strong> 파일을 인클루드 해 줘야 합니다.</p>
|
||||
|
||||
<p>server 블럭에는 다양한 정보가 들어 있습니다. 그 정보의 최하단(혹은 원하는 곳)에</p>
|
||||
|
||||
<pre><code>include rhymix-nginx.conf
|
||||
</code></pre>
|
||||
|
||||
<p>구문을 추가해서 rhymix-nginx.conf 파일을 인클루드 하도록 합니다. 만약 nginx.conf 파일을 XE에 맞게 설정하지 않은 상태라면 아래와 같이 바꿔주도록 합시다. 이때, # 뒤에 붙는 글자는 '주석'처리 된 글자입니다. 즉 nginx는 #뒤에 붙는 글자를 인식하지 않습니다.</p>
|
||||
|
||||
<pre><code>http {
|
||||
include mime.types;
|
||||
default_type application/octet_stream;
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
#만약 SSL을 사용하고 싶다면 80; 대신 443 ssl;을 이용하면 됩니다.
|
||||
|
||||
server_name example.com
|
||||
#example.com은 자신의 도메인으로 바꾸면 됩니다. www.example.com과 example.com이 서로 다름에 유의해 주세요.
|
||||
|
||||
root /var/www/html;
|
||||
#이때, 원하는 디렉터리로 홈 디렉터리를 수정해도 됩니다. 만약 /var/lol/lol로 홈 디렉터리를 사용하고 싶다면 /var/lol/lol;을 홈 디렉터리로 사용하면 됩니다.
|
||||
|
||||
index index.php;
|
||||
#index.php가 기본 페이지가 된다는 의미입니다. Rhymix는 index.php를 사용하니 index.php를 넣는 것입니다.
|
||||
|
||||
include rhymix-nginx.conf
|
||||
#위에서 설명드렸다시피 rhymix의 리라이트 규칙을 인클루드 하는 코드입니다.
|
||||
|
||||
}
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<p>하나의 서버에 하나의 웹사이트만 돌릴 생각이라면, 이 가이드의 최하단으로 이동하시기 바랍니다.</p>
|
||||
|
||||
<p>만약, 하나의 서버에 여러개의 웹사이트를 돌리고 싶다면(=가상 서버를 사용하고 싶다면) <strong>/etc/nginx</strong> 디렉터리 아래에 새로운 하위 디렉터리를 만든 뒤 그 곳에 존재하는 모든 파일을 인클루드 해 버리면 됩니다. 그리고 그곳에서 가상 서버 파일을 생성하여 rhymix-nginx.conf를 인클루드 하면 됩니다. 예를 들면 이렇습니다.</p>
|
||||
|
||||
<p>이때, 하위 디렉터리는 conf.d 를 생성했다고 가정합니다. 즉, 하위 디렉터리의 경로는 /etc/nginx/conf.d 입니다.</p>
|
||||
|
||||
<pre><code>http {
|
||||
include mime.types;
|
||||
default_type application/octet_stream;
|
||||
|
||||
include /etc/nginx/conf.d*;
|
||||
#conf.d 디렉터리 내에 모든 파일을 인클루드 하겠다는 의미입니다.
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<p>conf.d 디렉터리 아래에는 <strong>server 블럭</strong>만 들어가야 합니다. conf.d의 example.conf 파일을 생성하는 케이스를 예로 들어 설명하겠습니다.</p>
|
||||
|
||||
<pre><code> server {
|
||||
listen 80;
|
||||
#만약 SSL을 사용하고 싶다면 80; 대신 443 ssl;을 이용하면 됩니다.
|
||||
|
||||
server_name example.com
|
||||
#example.com은 자신의 도메인으로 바꾸면 됩니다. www.example.com과 example.com이 서로 다름에 유의해 주세요.
|
||||
|
||||
root /var/www/html;
|
||||
#이때, 원하는 디렉터리로 홈 디렉터리를 수정해도 됩니다. 만약 /var/lol/lol로 홈 디렉터리를 사용하고 싶다면 /var/lol/lol;을 홈 디렉터리로 사용하면 됩니다.
|
||||
|
||||
index index.php;
|
||||
#index.php가 기본 페이지가 된다는 의미입니다. Rhymix는 index.php를 사용하니 index.php를 넣는 것입니다.
|
||||
|
||||
include rhymix-nginx.conf
|
||||
#위에서 설명드렸다시피 rhymix의 리라이트 규칙을 인클루드 하는 코드입니다.
|
||||
|
||||
}
|
||||
</code></pre>
|
||||
|
||||
<p>위는 conf.d 디렉터리 내에 존재하는 example.conf 파일입니다. nginx.conf 파일에서 conf.d 디렉터리 내에 존재하는 모든 파일(*)를 인클루드 하겠다고 설정하였기 때문에 nginx.conf 파일에 자동적으로 인클루드 되게 됩니다.
|
||||
또한, 이미 http 블럭은 nginx.conf에서 설정이 완료되었기 때문에 nginx.conf에 인클루드 되는 conf.d의 파일은 http 블럭 없이 server 블럭으로만 구성되어야 합니다.</p>
|
||||
|
||||
<h2>엔진엑스 재시작하기</h2>
|
||||
|
||||
<p>엔진엑스의 기본적인 설정을 마쳤습니다. 이제 엔진엑스가 변경된 설정을 로딩할 수 있도록 재시작해줘야 합니다.</p>
|
||||
|
||||
<p>터미널을 열고</p>
|
||||
|
||||
<pre><code>sudo service nginx reload
|
||||
</code></pre>
|
||||
|
||||
<p>혹은</p>
|
||||
|
||||
<pre><code>sudo service nginx restart
|
||||
</code></pre>
|
||||
|
||||
<p>커맨드를 실행하도록 합니다. 이 커맨드는 <strong>nginx</strong>라는 <strong>서비스</strong>를 <strong>리로드 하거나 재시작</strong> 하도록 하라는 의미를 담고 있습니다. 보통 reload를 권장하며, restart는 권장하지 않습니다.</p>
|
||||
|
||||
<h2>마치며...</h2>
|
||||
|
||||
<p>이로서 엔진엑스의 리라이트 설정을 마쳤습니다. 이를 통해 읽기 복잡한 긴 주소를 짧은 주소로 변환할 수 있을 것입니다.</p>
|
||||
</body>
|
||||
</html>
|
||||
158
common/manual/server_config/rhymix-nginx-help.md
Normal file
158
common/manual/server_config/rhymix-nginx-help.md
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
#Nginx 리라이트 설정하기
|
||||
##개요
|
||||
**Rewrite**는 주로 짧은 주소를 구현하기 위해 사용됩니다. 예를 들자면
|
||||
|
||||
https://example.com/index.php?mid=freeboard&document_srl=181
|
||||
|
||||
이라는 복잡한 주소를
|
||||
|
||||
https://example.com/freeboard/181
|
||||
|
||||
처럼 **사람이 읽고 인식하기에 편한 주소로 바꾸어 주는 기능을 담당**합니다.
|
||||
|
||||
아파치의 경우 .htaccess 파일에서 mod_rewrite 모듈을 이용하여 리라이트를 할 수 있습니다. 하지만 엔진엑스의 경우 엔진엑스의 설정 파일을 수정해야 합니다.
|
||||
|
||||
## 요약
|
||||
**적용하기** 부터는 상세하게 설명하게 됩니다. 상세하게 설명하면 실제로는 전혀 어렵지 않은 이야기를 어렵게 설명하거나, 길이 때문에 지레 포기하는 경우가 생기기 때문에 간략하게 세줄 요약하도록 하겠습니다.
|
||||
|
||||
1. 엔진엑스의 설정 파일을 열고
|
||||
2. rhymix-nginx.conf 파일을 인클루드 하고
|
||||
3. 엔진엑스 재시작
|
||||
|
||||
## 적용하기
|
||||
엔진엑스의 설정 파일은 우분투를 기준으로 하여 apt-get으로 설치했다면
|
||||
|
||||
/etc/nginx/nginx.conf
|
||||
|
||||
에 존재합니다. 만약 자신의 엔진엑스의 설정 파일이 어디에 있는지 모른다면 아래와 같은 커맨드를 입력하여 엔진엑스의 설정파일을 찾을 수 있습니다. 이 커맨드는 **관리자 권한**을 이용하여 **nginx.conf**라는 **이름**을 가진 파일을 **찾으라**는 명령어입니다. 검색이 완료될 때 까지는 제법 긴 시간이 필요하니 기다리도록 합시다.
|
||||
|
||||
# sudo find / -name nginx.conf
|
||||
|
||||
명령어의 결과는 아래와 같은 형식으로 출력됩니다.
|
||||
|
||||
/etc/nginx/nginx.conf
|
||||
|
||||
눈치 채셨겠지만, nginx.conf가 위치하고 있는 디렉터리의 경로입니다.
|
||||
|
||||
또한, nginx.conf를 수정하기 위해서는 nginx.conf를 수정할 수 있는 에디터가 필요합니다. 따라서 초보자가 가장 사용하기 좋은 'nano'를 설치해 보도록 하겠습니다.
|
||||
|
||||
# apt-get install nano
|
||||
|
||||
이 명령어를 이용하면 nano 에디터를 설치할 수 있습니다. 물론 익숙한 에디터가 있다면 익숙한 에디터를 이용하도록 합시다.
|
||||
|
||||
이제 본격적으로 nginx.conf를 편집해 보도록 하겠습니다. 먼저, rhymix에서 사용되는 php 쿼리 주소들을 정리한 파일이 필요합니다. 해당 파일을 만든 뒤에 nginx.conf에 인클루드 함으로서 리라이트를 진행해 보도록 하겠습니다.
|
||||
|
||||
먼저 nano의 기본적인 조작법을 알아볼 필요가 있습니다. 더 강력한 조작법이 분명히 있지만, 굳이 이번 가이드에서는 다루지 않겠습니다.
|
||||
|
||||
1. ctrl + o #저장
|
||||
2. ctrl + x #닫기
|
||||
3. 화살표 키 #커서 이동
|
||||
|
||||
이 매뉴얼과 같은 디렉터리에 존재하는 'rhymix-nginx.conf' 파일을 nginx.conf가 위치한 디렉터리(/etc/nginx)로 이동해 보도록 합시다. 방법은 FTP에서 드래그 앤 드롭으로 옮기셔도, 아니면 터미널 상에서 명령어를 이용해서 옮기셔도 좋습니다.
|
||||
|
||||
이제 **nginx.conf** 파일을 수정해 보도록 하겠습니다. rhymix-nginx.conf 파일을 **nginx.conf** 파일에 인클루드 하는 첫번째 과정입니다.
|
||||
|
||||
먼저 **nginx.conf** 파일을 열어줍니다. (이때, 엔진엑스에서 가상 서버 기능을 사용하고 있는 경우에는 각 서버의 설정 파일을 수정해 줘야 합니다.)
|
||||
|
||||
nano nginx.conf
|
||||
|
||||
nginx.conf 설정 파일을 여실 수 있을겁니다. 설정 파일에는 크게 두가지 **블럭**이 존재합니다. 첫번째는 **http{ }** 형태로 구성되어 있는 **http 블럭**, 두번째는 **server{ }** 형태로 존재하는 **server 블럭** 입니다. **nginx.conf** 파일은
|
||||
|
||||
http {
|
||||
server {}
|
||||
}
|
||||
|
||||
위와 같이 구조가 짜여있는걸 확인하실 수 있습니다.(물론 event, worker_processes와 같은 부분도 있습니다만, 이 부분은 여기서 다루지 않겠습니다.), 우리가 주목해야 할 것은
|
||||
|
||||
server { }
|
||||
|
||||
블럭입니다. server 블럭에 **rhymix-nginx.conf** 파일을 인클루드 해 줘야 합니다.
|
||||
|
||||
server 블럭에는 다양한 정보가 들어 있습니다. 그 정보의 최하단(혹은 원하는 곳)에
|
||||
|
||||
include rhymix-nginx.conf;
|
||||
|
||||
구문을 추가해서 rhymix-nginx.conf 파일을 인클루드 하도록 합니다. server {} 내부의 형태가 아래와 같이 설정되었다면 제대로 설정된 것입니다. 자신이 원하는 서버의 형태에 따라서 server 블럭의 형태는 자유롭게 설정할 수 있습니다.
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
#만약 SSL을 사용하고 싶다면 80; 대신 443 ssl;을 이용하면 됩니다. SSL을 이용하는 경우 추가적인 세팅이 필요하므로, 관련 팁을 참조하시길 바랍니다.
|
||||
|
||||
server_name example.com;
|
||||
#example.com은 자신의 도메인으로 바꾸면 됩니다. www.example.com과 example.com이 서로 다름에 유의해주세요.
|
||||
|
||||
root /var/www/html;
|
||||
#이때, 원하는 디렉터리로 홈 디렉터리를 수정해도 됩니다. 만약 /var/lol/lol로 홈 디렉터리를 사용하고 싶다면 /var/lol/lol;을 홈 디렉터리로 사용하면 됩니다.
|
||||
|
||||
index index.php;
|
||||
#index.php가 기본 페이지가 된다는 의미입니다. Rhymix는 index.php를 사용하니 index.php를 넣는 것입니다. 이 부분은 변경할 수 없습니다.
|
||||
|
||||
include rhymix-nginx.conf;
|
||||
#가장 중요한 부분입니다. 위에서 설명드렸다시피 RhymiX의 리라이트 규칙을 인클루드 하는 코드입니다.
|
||||
}
|
||||
|
||||
|
||||
하나의 서버에 하나의 웹사이트만 돌릴 생각이라면, 이 가이드의 최하단으로 이동하시기 바랍니다.
|
||||
|
||||
만약, 하나의 서버에 여러개의 웹사이트를 돌리고 싶다면(=가상 서버를 사용하고 싶다면) **/etc/nginx/site-enabled** 디렉터리에 **server 블럭**을 가지는 파일을 생성하면 됩니다. 우분투의 기본 nginx.conf를 살펴 보면 아래와 같은데요(다른 리눅스 배포판이라면 nginx.conf의 내용도 다를 수 있습니다. 기본적으로 include를 이용하여 하위 디렉터리의 설정 파일을 인클루드 한다는 점은 동일합니다.),
|
||||
|
||||
http {
|
||||
(...중략...)
|
||||
|
||||
include /etc/nginx/conf.d/*.conf;
|
||||
include /etc/nginx/site-enabled/*;
|
||||
}
|
||||
|
||||
**/etc/nginx/conf.d** 디렉터리 내에 있는 .conf 확장자를 모두 인클루드 하며, **/etc/nginx/site-enabled**에 들어 있는 모든 파일을 인클루드 한다는 의미입니다. 따라서, site-enabled 디렉터리에 아래와 같은 서버 설정을 작성합니다. 용도에 따라서 서버 파일의 내용은 얼마든지 바뀔 수 있습니다. 아래 서버 파일은
|
||||
|
||||
1. 80 포트를 이용하여 보안 연결 없는 일반 HTTP 연결을 하고
|
||||
2. example.com 도메인을 사용하며
|
||||
3. /var/www/html 디렉터리에 RhymiX 파일이 위치하는 서버의 설정입니다.
|
||||
|
||||
파일의 이름은 'example.conf'라고 가정하도록 하겠습니다.
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
#만약 SSL을 사용하고 싶다면 80; 대신 443 ssl;을 이용하면 됩니다. SSL을 이용하는 경우 추가적인 설정이 필요하므로, 관련 팁을 참조하시기 바랍니다.
|
||||
|
||||
server_name example.com;
|
||||
#example.com은 자신의 도메인으로 바꾸면 됩니다. www.example.com과 example.com이 서로 다름에 유의해 주세요.
|
||||
|
||||
root /var/www/html;
|
||||
#이때, 원하는 디렉터리로 홈 디렉터리를 수정해도 됩니다. 만약 /var/lol/lol로 홈 디렉터리를 사용하고 싶다면 /var/lol/lol;을 홈 디렉터리로 사용하면 됩니다.
|
||||
|
||||
index index.php;
|
||||
#index.php가 기본 페이지가 된다는 의미입니다. Rhymix는 index.php를 사용하니 index.php를 넣는 것입니다.
|
||||
|
||||
include /etc/nginx/rhymix-nginx.conf;
|
||||
#위에서 설명드렸다시피 rhymix의 리라이트 규칙을 인클루드 하는 코드입니다.
|
||||
|
||||
}
|
||||
|
||||
가상 호스트 설정 파일에 include /etc/nginx/rhymix-nginx.conf 파일을 인클루드 하도록 합니다.
|
||||
|
||||
혹은, 추가하는 include 구문을 아래와 같이 추가할 수도 있지만, **절대로 이런 방식으로 추가해서는 안됩니다.** **반면교사를 위한 보여주기입니다.**
|
||||
|
||||
include /XE_설치경로/common/manual/server_config/rhymix-nginx.conf;
|
||||
|
||||
XE의 설치 경로가 **/var/www/html**이라면,
|
||||
|
||||
include /var/www/html/common/manual/server_config/rhymix-nginx.conf;
|
||||
|
||||
를 추가하면 됩니다. 하지만, 위와 같은 형식의 추가는 웹서버의 디렉터리를 참조하기 때문에 rhymix-nginx.conf 파일이 변조되었을 때 nginx의 rewrite 설정도 함께 바뀌기 때문에 **절대로 사용해서는 안됩니다.**
|
||||
|
||||
##엔진엑스 재시작하기
|
||||
엔진엑스의 기본적인 설정을 마쳤습니다. 이제 엔진엑스가 변경된 설정을 로딩할 수 있도록 재시작해줘야 합니다.
|
||||
|
||||
터미널을 열고
|
||||
|
||||
# sudo service nginx reload
|
||||
|
||||
혹은
|
||||
|
||||
# sudo service nginx restart
|
||||
|
||||
커맨드를 실행하도록 합니다. 이 커맨드는 **nginx**라는 **서비스**를 **리로드 하거나 재시작** 하도록 하라는 의미를 담고 있습니다. 보통 reload를 권장하며, restart는 권장하지 않습니다.
|
||||
|
||||
##마치며...
|
||||
이로서 엔진엑스의 리라이트 설정을 마쳤습니다. 이를 통해 읽기 복잡한 긴 주소를 짧은 주소로 변환할 수 있을 것입니다.
|
||||
|
|
@ -2,7 +2,7 @@
|
|||
rewrite ^/(layouts|m.layouts)/(.+)/(.+).html$ /index.php last;
|
||||
|
||||
# reserve Rhymix Template Source File (*html)
|
||||
rewrite ^/(skins|m.skins)/(.+)\.html$ last; /index.php last;
|
||||
rewrite /(skins|m.skins)/(.+)\.html$ /index.php last;
|
||||
|
||||
# reserve setting files
|
||||
rewrite ^/files/config/(.+)\.php$ last;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue