nginx ์ค์ ๋ฐฉ๋ฒ¶
์ํ์น๋ ๋ผ์ด๋ฏน์ค์ ํฌํจ๋ .htaccess
ํ์ผ์ ๊ทธ๋๋ก ์ฌ์ฉํ๋ ๊ฒ๋ง์ผ๋ก๋ ์งง์ ์ฃผ์ ์ฌ์ฉ์ด ๊ฐ๋ฅํ์ง๋ง,
nginx๋ .htaccess
ํ์ผ์ ์ฌ์ฉํ ์ค์ ๋ณ๊ฒฝ์ ์ง์ํ์ง ์์ผ๋ฏ๋ก ์๋ฒ ์ค์ ์ ์ง์ ์์ ํด์ผ ํฉ๋๋ค.
Ubuntu 18.04 ์ด์¶
Ubuntu์์๋ ์ต์ ๋ฒ์ ์ ๊ฐ๊น์ด nginx๋ฅผ ์ ๊ณตํ๋ฏ๋ก ํจํค์ง ์ค์น๋ฅผ ๊ถ์ฅํฉ๋๋ค.
apt-get install nginx
์ค์น๋ฅผ ๋ง์น๋ฉด /etc/nginx/sites-enabled/default
์์น์ ๊ธฐ๋ณธ ์ค์ ํ์ผ์ด ์์ฑ๋ฉ๋๋ค.
์ด ํ์ผ์ ๋ด์ฉ์ ์๋์ ๊ฐ์ด ์์ ํ๊ฑฐ๋, ๊ฐ์ ํด๋ ๋ด์ ๋ค๋ฅธ ์ด๋ฆ์ ํ์ผ์ ๋ง๋ค์ด ์๋์ ๋ด์ฉ์ ๋ฃ์ต๋๋ค.
server {
listen 80 default; # ๋ค๋ฅธ ํ์ผ์ ๋ง๋ค์ด ์ฐ๋ ๊ฒฝ์ฐ default ์ญ์
root /var/www/html; # ๋ผ์ด๋ฏน์ค๋ฅผ ์ค์นํ ๊ฒฝ๋ก (๋ฐ๋์ ์ต์๋จ์ ์์นํด์ผ ํฉ๋๋ค.)
server_name _; # ์ฌ์ฉํ ๋๋ฉ์ธ์ ์ฌ๊ธฐ์ ์ถ๊ฐํด๋ ๋จ (์: server_name example.com www.example.com;)
index index.html index.htm index.php; # index.php๊ฐ ๋ฐ๋์ ํฌํจ๋์ด ์์ด์ผ ํฉ๋๋ค.
client_max_body_size 32m; # ์
๋ก๋ ํ์ฉ ์ฉ๋ (๋ผ์ด๋ฏน์ค๋ ๋ถํ ์
๋ก๋๋ฅผ ์ง์ํ๋ฏ๋ก ์ฝ 10MB๋ง ๋์ผ๋ฉด ์ฌ์ค์ ๋ฌดํ๋๊ฐ ๋ฉ๋๋ค.)
include snippets/rhymix.conf; # ๋ผ์ด๋ฏน์ค rewrite ๊ท์น ์ธํด๋ฃจ๋
# location ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ ๋ค๋ฅธ ์ค์ ์ ๋ฐ๋์ ๋ผ์ด๋ฏน์ค rewrite ๊ท์น๋ณด๋ค ๋์ค์ ์ ์ธํด์ผ ํฉ๋๋ค.
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock; # PHP-FPM์ ์ ๋์ค ์์ผ์ผ๋ก ์ฐ๋ํ๋ ๊ฒฝ์ฐ
fastcgi_pass 127.0.0.1:9000; # PHP-FPM์ ๋ก์ปฌ ํฌํธ๋ก ์ฐ๋ํ๋ ๊ฒฝ์ฐ
include snippets/fastcgi-php.conf;
}
}
์ฃผ์: ๋ผ์ด๋ฏน์ค 2.0๋ถํฐ๋ rewrite ๊ท์น์ location / { try_files ... }
๋ธ๋ญ์ด ํฌํจ๋์ด ์์ผ๋ฏ๋ก
์ฌ์ดํธ ์ค์ ์ ๋์ผํ ๋ธ๋ญ์ ์ถ๊ฐํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
PHP-FPM ์ฐ๋ ๊ฒฝ๋ก๋ ์๋์ ๋ช ๋ น์ผ๋ก ํ์ธํ ์ ์์ต๋๋ค. (PHP ๋ฒ์ ์ ๋ฐ๋ผ ๊ฒฝ๋ก๊ฐ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.)
grep -r "listen =" /etc/php/7.4/fpm/pool.d
์ต๊ทผ Ubuntu์์๋ nginx์ ๊ด๋ จ๋ ์ก๋คํ ์ค์ ํ์ผ๋ค์ /etc/nginx/snippets
ํด๋์ ๋ฃ๋ ๊ฒ์ด ๊ด๋ก์
๋๋ค.
๋ผ์ด๋ฏน์ค์์ ์ ๊ณตํ๋ rewrite ๊ท์น ํ์ผ์ ๋ค์ด๋ฐ์
์ด ํด๋์ rhymix.conf
๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ฃ์ต๋๋ค.
curl https://raw.githubusercontent.com/rhymix/rhymix/master/common/manual/server_config/rhymix-nginx.conf > /etc/nginx/snippets/rhymix.conf
์ค์ ์ ๋ณ๊ฒฝํ ํ์๋ nginx๋ฅผ ์ฌ์์ํด ์ฃผ์ด์ผ ํฉ๋๋ค.
service nginx restart
๋ง์ฝ ์ฌ์์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค๋ฉด /var/log/nginx/error.log
์๋ฌ ๋ก๊ทธ๋ฅผ ํ์ธํ์๊ธฐ ๋ฐ๋๋๋ค.
CentOS 7 ์ด์¶
CentOS๋ ๊ธฐ๋ณธ ์ ๊ณต๋๋ nginx ๋ฒ์ ์ด ๋ฎ์ผ๋ฏ๋ก nginx ๊ณต์ ํํ์ด์ง์์ ์ ๊ณตํ๋
RPM ์ ์ฅ์๋ฅผ ์ฌ์ฉํ์ฌ ์ต์ ๋ฒ์ ์ ์ค์นํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install nginx
์ค์น๋ฅผ ๋ง์น๋ฉด /etc/nginx/conf.d/default.conf
์์น์ ๊ธฐ๋ณธ ์ค์ ํ์ผ์ด ์์ฑ๋ฉ๋๋ค.
์ด ํ์ผ์ ์์ ํ๊ฑฐ๋, ๊ฐ์ ํด๋ ๋ด์ ๋ค๋ฅธ ์ด๋ฆ์ ํ์ผ์ ๋ง๋ค์ด์
์์ Ubuntu ์ค๋ช
์ ๊ฐ์ ๋ด์ฉ์ ๋ฃ์ต๋๋ค.
PHP-FPM ์ฐ๋ ๊ฒฝ๋ก๋ ์๋์ ๋ช ๋ น์ผ๋ก ํ์ธํ ์ ์์ต๋๋ค.
grep -r "listen =" /etc/php-fpm.d
CentOS์์๋ /etc/nginx/snippets
ํด๋์ ์ก๋คํ ์ค์ ํ์ผ๋ค์ ๋ชจ์ผ๋ ๊ด๋ก๊ฐ ์์ผ๋,
conf.d
ํด๋์ ๋ฃ์ผ๋ฉด ์ธํด๋ฃจ๋ ์์๊ฐ ๋ง์ง ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก
Ubuntu์ ๋ง์ฐฌ๊ฐ์ง๋ก snippets
ํด๋๋ฅผ ๋ง๋ค์ด ์ฌ์ฉํ๋ฉด ํธ๋ฆฌํฉ๋๋ค.
mkdir /etc/nginx/snippets
curl https://raw.githubusercontent.com/rhymix/rhymix/master/common/manual/server_config/rhymix-nginx.conf > /etc/nginx/snippets/rhymix.conf
์ค์ ์ ๋ณ๊ฒฝํ ํ์๋ nginx๋ฅผ ์์ํด ์ฃผ์ด์ผ ํฉ๋๋ค. (CentOS์์๋ ์ค์น์ ์๋์ผ๋ก ์์๋์ง ์์ต๋๋ค.)
systemctl start nginx
systemctl enable nginx
๋ง์ฝ ์ฌ์์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค๋ฉด /var/log/nginx/error.log
์๋ฌ ๋ก๊ทธ๋ฅผ ํ์ธํ์๊ฑฐ๋, ์๋์ ๋ช
๋ น์ผ๋ก ์๋น์ค ์ํ๋ฅผ ์ ๊ฒํ์๊ธฐ ๋ฐ๋๋๋ค.
systemctl status nginx