테스트 사이트 - 개발 중인 베타 버전입니다

ec2 nginx node js + php 채택완료

아요밍 2년 전 조회 1,996

안녕하세요. ec2나 nginx 뭐 다 왕초보라 질문하는 말이 좀 이상할 수도 있어요 ㅠ.ㅠ

 

ec2에 node js랑 php 둘다 쓰고싶은데

 

노드는 /home/ubuntu/ 안에 있고

php(그누보드) 는 /var/www/html/ 안에 있어요.

 

/etc/nginx/sites-available/default 파일에는

-----------------------

</p>

<pre>
server {
</pre>

<pre>
   root /var/www/html;
</pre>

<pre>
   index index.php index.html index.htm index.nginx-debian.html;

   server_name _;</pre>

<pre>
   location / {
           proxy_pass <a href="http://localhost:8001;" target="_blank" rel="noopener noreferrer">http://localhost:8001;</a>
           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;
   }
</pre>

<pre>
   location ~ \.php$ {
      include snippets/fastcgi-php.conf;   
      fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;</pre>

<p>    }</p>

<p>}</p>

<p>

--------------------------------

 

이렇게 되있어요.

 

현재 도메인을 하나 사둔 상태고

https://도메인명 으로 접속시 노드 프로젝트가 뜨게(?) 해두었습니다. (노드는 8001포트)

도메인명으로 접속시 노드프로젝트가 뜨는건 원하는게 맞는데,

다른 경로(?)로 접속했을때 php(그누보드)도  사용하고싶어요..

https://도메인/index.php 하면 그누 메인이 로드는 됩니다만 css나 이런게 적용이 하나도 안되고 

진짜 index html만? 나오는것처럼 다 깨져서 나와요.

 

이 사태를 처리하려면 어떻게 해야할까요.? 어딜 손대야 하는지.. 도메인을 하나 더 사야 하는지 

다른 방도가 있나 궁금합니다... 

 

원하는것 : 도메인으로 접속시 노드 프로젝트로 연결되게 하고

서브도메인 혹은 http://도메인/html/ 이런식의 경로에선 그누가 연결됐으면 합니다.

 

어떤 정보를 올려야 되는지도 잘 몰라서 이렇게만 올립니다. ㅠㅠ 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트

글쎼요.. 제가 엔진엑스를 잘 하진 않지만은... 일단 경험 삼아 말하자면 

php는 api로 쓰시고 노드는 기본 베이스로 해서.. 

그러니까 location / 프록시로 접근해서 노드로 시작되고

location /api {} 로 시작해서 php를 시작하게 하면 될듯하네요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

노드 쓰는 이유가 혹시 리액트 때문이신가요?

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인