환경
- ubuntu 20.04
- php 7.4
- nginx
팀장님이 아마존 aws ec2를 이용해서 새로운 ec2를 만들어 보라구 했다!
그래서 아마존 aws ec2에서 새로운 인스턴스를 만들고 환경설정을 했다 기록 안하고있다가 기록하고 있냐는 말에 놀래서 오랜만에 기록중,..😞
1. 우분투 os 업그레이드 및 업데이트하기
항상 최신버전으로 맞춰줘야한다고 했다!
sudo apt update
sudo apt upgrade
2. nginx 설치
nginx 를 설치하기전에 간단히 nginx가 뭔지 알고 넘어가자(실제로 물어봐서 당황했던 거ㅠㅠㅠ)
Nginx?
Apache처럼 웹서버 환경을 만들어주는 소프트웨어!
따라서 Apache 를 따로 설치 할 필요 없다!
Nginx는 간단하게 설치할 수 있다.
sudo apt-get install nginx
설치가 잘 됬는지 확인하려면 ip 주소로 들어가보면 된다
설치가 잘 됬으면 welcome 문구가 뜨면서 기본적인 index 페이지가 뜬다!
3. php 도구 설치
먼저 php 를 설치한다.
sudo apt-get install php7.4
그다음에 php 관련 모듈들을 설치해준다
sudo apt install php-fpm
sudo apt install php-mysql php-zip php-gd
sudo apt install php-mbstring php-xml
sudo apt-get install php-curl
참고
https://sjwiq200.tistory.com/69
4. git
git install 로 깃을 설치한뒤 내 프로젝트를 clone 해서 가져온다.
위치는 /var/www/밑으로!
sudo apt-get install git
5. composer
프로젝트 디렉토리로 가서 composer install 을 해주는데 composer 모듈들이랑 버전 충돌이 났다.
그래서 composer.json을 삭제 한 후 다시 해주었다.
이 과정에서 memory_limit 오류가 발생했다.
2020/06/04 - [SERVER/LARAVEL] - php 메모리 부족 오류(수정)
여기를 참고하면 된다!
이렇게 수정해도 안된다면 아마존에서 인스턴스 유형을 변경해야된다 8ㅅ8
6. nxigx + laravel 연동
/etc/nxigx/stie-avliable/default에서 다음과 같이 수정해준다
server {
listen 80;
server_name example.com;
root your/drectory/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
7. laravel storage 권한 문제
위까지 하고 나니 권한문제가 발생했다.
권한 문제는 다음과 같이 처리하면된다!
mkdir -p bootstrap/cache
chown -R www-data:www-data bootstrap/cache
mkdir -p storage/logs
mkdir -p storage/framework/cache
mkdir -p storage/framework/sessions
mkdir -p storage/framework/views
chown -R www-data:www-data storage
그러면 권한 문제까지 완료하면 끄읏!!
간단한거같은데 반나절이걸려버린 ㅠㅠㅠㅠㅠㅠㅠㅠ 그럼 안뇽🙋🏻♀️
참고
https://sjwiq200.tistory.com/47?category=786738
https://sjwiq200.tistory.com/32
https://laravel.kr/docs/5.5/deployment
+팀장님 / 사수분 머리속
'LINUX' 카테고리의 다른 글
[centos7] conda command not found 오류 해결 (2) | 2019.08.08 |
---|---|
Linux에서 npm run 할때 생기는 오류 정리 (0) | 2019.08.01 |
윈도우에서 리눅스 디렉토리 접근하기(WinSCP) (0) | 2019.08.01 |
VSCode로 Linux파일 보기 (rmate) (0) | 2019.08.01 |