ec2 nginx node js + php
본문
안녕하세요. ec2나 nginx 뭐 다 왕초보라 질문하는 말이 좀 이상할 수도 있어요 ㅠ.ㅠ
ec2에 node js랑 php 둘다 쓰고싶은데
노드는 /home/ubuntu/ 안에 있고
php(그누보드) 는 /var/www/html/ 안에 있어요.
/etc/nginx/sites-available/default 파일에는
-----------------------
server {
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
proxy_pass http://localhost:8001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
--------------------------------
이렇게 되있어요.
현재 도메인을 하나 사둔 상태고
https://도메인명 으로 접속시 노드 프로젝트가 뜨게(?) 해두었습니다. (노드는 8001포트)
도메인명으로 접속시 노드프로젝트가 뜨는건 원하는게 맞는데,
다른 경로(?)로 접속했을때 php(그누보드)도 사용하고싶어요..
https://도메인/index.php 하면 그누 메인이 로드는 됩니다만 css나 이런게 적용이 하나도 안되고
진짜 index html만? 나오는것처럼 다 깨져서 나와요.
이 사태를 처리하려면 어떻게 해야할까요.? 어딜 손대야 하는지.. 도메인을 하나 더 사야 하는지
다른 방도가 있나 궁금합니다...
원하는것 : 도메인으로 접속시 노드 프로젝트로 연결되게 하고
서브도메인 혹은 http://도메인/html/ 이런식의 경로에선 그누가 연결됐으면 합니다.
어떤 정보를 올려야 되는지도 잘 몰라서 이렇게만 올립니다. ㅠㅠ
!-->
답변 2
글쎼요.. 제가 엔진엑스를 잘 하진 않지만은... 일단 경험 삼아 말하자면
php는 api로 쓰시고 노드는 기본 베이스로 해서..
그러니까 location / 프록시로 접근해서 노드로 시작되고
location /api {} 로 시작해서 php를 시작하게 하면 될듯하네요
노드 쓰는 이유가 혹시 리액트 때문이신가요?