Extra Form
PHP PHP 7.2
CMS Rhymix 2.x

xe에서 라이믹스 1.8로 오늘 라이믹스 2.0 업그레이드 하였습니다.

 

짧은주소 사용을 위한 nginx 설정을 아래와 같이 진행 하고 nginx restart 입력하면 에러가 발생하는데 문제가 무엇인지 도움을 받고자 합니다.

 

1. 서버환경 

rhymix_version : 2.0.17 date : 2022-01-04 11:33:27 +0900 (2022-01-04 02:33:27 UTC)

php : 7.2.33-1+ubuntu18.04.1+deb.sury.org+1 (64-bit) server : nginx/1.19.0

 

2. 짧은 주소 사용을 위한 nginx 설정 방법 가이드   ( https://github.com/rhymix/rhymix-docs/blob/master/ko/introduction/nginx.md )

 

1) 현재 저는 /etc/nginx/sites-enabled/default  파일과 martmon이라는 파일로 설정파일이 있습니다.

 [ default 파일 주요 내용 ]

1.JPEG

 

[ martmon 설정 파일 주요 내용 ]

* xe에서 사용하던 xe-rewrite.conf 파일에 라이믹스 1.8버젼대의 rewrite 규칙이 적용된 파일입니다.

/etc/nginx/snippets/xe-rewrite.conf로 저장이 되어 있었습니다.

 

2.JPEG

 

3. 라이믹스 1.8버전대에서 사용하던  /etc/nginx/snippets/xe-rewrite.conf 파일 기존 내용을 vi 에디터에서 모두 지우고 라이믹스 2.0에서 권장하는  rewrite 규칙 ( https://github.com/rhymix/rhymix/blob/master/common/manual/server_config/rhymix-nginx.conf ) 내용으로 변경 저장하였습니다,

 

* 파일명을 기존 사용하던 그대로 xe-rewrite.conf 로 사용하고 경로도 기존 설정파일 경로 그대로 사용 했습니다.

 

4. 라이믹스 2.0 규칙대로 변경된 내용으로 xe-rewrite.conf파일을 저장하고 nginx restart를 실행하면 아래와 같은 에러가 발생하면서 사이트 접속이 되질 않습니다.

2022-01-04 11,44,10.JPEG

 

xe-rewrite.conf 내용을 다시 원래 라이믹스 1.8대에서 사용하던 규칙으로 변경 저장하면 에러 없이 사이트가 정상 작동됩니다.

 

[ 라이믹스 1.8대에서 사용하던 xe-rewrite.conf 내용 ]

# block direct access to templates, XML schemas, config files, dotfiles, environment info, etc.
location ~ ^/modules/editor/(skins|styles)/.+\.html$ {
    # pass
}
location ~ ^/(admin/help|common/manual)/.+\.html$ {
    # pass
}
location ~ ^/(addons|common/tpl|files/ruleset|(m\.)?layouts|modules|plugins|themes|widgets|widgetstyles)/.+\.(html|xml)$ {
    return 403;
}
location ~ ^/files/(attach|config|cache/store)/.+\.(ph(p|t|ar)?[0-9]?|p?html?|cgi|pl|exe|[aj]spx?|inc|bak)$ {
    return 403;
}
location ~ ^/files/(env|member_extra_info/(new_message_flags|point))/ {
    return 403;
}
location ~ ^/(\.(git|ht|jshint)|codeception\.|composer\.|Gruntfile\.js|package\.json|CONTRIBUTING|COPYRIGHT|LICENSE|README) {
    return 403;
}

# fix incorrect relative URLs (for legacy support)
location ~ ^/(.+)/(addons|common|files|layouts|m\.layouts|modules|widgets|widgetstyles)/(.+) {
    try_files $uri $uri/ /$2/$3;
}

# fix incorrect minified URLs (for legacy support)
location ~ ^/(.+)\.min\.(css|js)$ {
    try_files $uri $uri/ /$1.$2;
}

# rss, blogAPI
rewrite ^/(rss|atom)$ /index.php?module=rss&act=$1 last;
rewrite ^/([a-zA-Z0-9_]+)/(rss|atom|api)$ /index.php?mid=$1&act=$2 last;
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/(rss|atom|api)$ /index.php?vid=$1&mid=$2&act=$3 last;

# trackback
rewrite ^/([0-9]+)/(.+)/trackback$ /index.php?document_srl=$1&key=$2&act=trackback last;
rewrite ^/([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$ /index.php?vid=$1&document_srl=$2&key=$3&act=trackback last;

# administrator page
rewrite ^/admin/?$ /index.php?module=admin last;

# document category
rewrite ^/([a-zA-Z0-9_]+)/category/([0-9]+)$ /index.php?mid=$1&category=$2 last;

# document permanent link
rewrite ^/([0-9]+)$ /index.php?document_srl=$1 last;

# mid link
location ~ ^/([a-zA-Z0-9_]+)/?$ {
    try_files $uri $uri/ /index.php?mid=$1;
}

# mid + document link
rewrite ^/([a-zA-Z0-9_]+)/([0-9]+)$ /index.php?mid=$1&document_srl=$2 last;

# vid + mid link
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/?$ /index.php?vid=$1&mid=$2 last;

# vid + mid + document link
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([0-9]+)$ /index.php?vid=$1&mid=$2&document_srl=$3 last;

# mid + entry title
rewrite ^/([a-zA-Z0-9_]+)/entry/(.+)$ /index.php?mid=$1&entry=$2 last;

# vid + mid + entry title
rewrite ^/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/entry/(.+)$ /index.php?vid=$1&mid=$2&entry=$3 last;

# rhymix file download
rewrite ^/files/download/([0-9]+)/([a-zA-Z0-9_-]+)/(.+)$ /index.php?act=procFileOutput&file_srl=$1&file_key=$2&filename=$3 last;
rewrite ^/@([a-zA-Z0-9가-힇_]+)/?$ /index.php?mid=some&act=dispSomethingProfileView&smember=$1 last;
 

  • profile

    주의: 라이믹스 2.0부터는 rewrite 규칙에 location / { try_files ... } 블럭이 포함되어 있으므로 사이트 설정에 동일한 블럭을 추가하면 오류가 발생합니다.

    원래 사용하던  nginx 설정에 위 부분 지우셨나요????

  • profile ?

    답변감사합니다. 

    설정파일 (default) 와 사이트 설정파일( martmon ) 에 아래와 같은 파란색 블럭 영역 모두를 지우고 하니 에러 없이 사이트 정상 접속이 됩니다. 

    3333.JPEG