참고 사이트
$ SSH [계정]@[IP]
우선 다운 받기 전 최신 목록을 다운 받기 위해 apt를 업데이트 해줍니다.
$ sudo apt-get update
동작이 완료되면 최신 버전의 APM들을 다운 받아봅시다.
$ sudo apt-get install apache2
진행 중
작업 이 후, 용량KB을 사용합니다. 계속 하시겠습니까? [Y/n] 라고 물어보는데 Y를 눌러 계속 진행해줍니다.
설치가 완료되면
$ apache2 -v
를 입력하여 현재 설치된 아파치2 버전을 확인할 수 있습니다.
잘 설치됐습니다.
#아파치 서버 시작 $ systemctl start apache2 #아파치 서버 상태 $ systemctl start apache2 #아파치 서버 재시작 $ systemctl start apache2 #아파치 서버 중지 $ systemctl stop apache2
systemctl [행동] [행동시킬 프로그램]
으로 아파치 서버를 관리할 수 있습니다.
#아파치 서버 시작 $ sudo service apache2 start #아파치 서버 재시작 $ sudo service apache2 restart #아파치 서버 중지 $ sudo service apache2 stop
아파치 서버를 실행시키고 localhost에 접속하면
아파치2 디폴트 페이지에 접근한 것을 볼 수 있습니다.
$ cd /etc/apache2 $ sudo vi apache2.conf
입력하여
:set number
를 입력하여 라인을 보이게 해주고 170번 줄의 블럭을 변경합니다.
<Directory /var/www/> #Options Indexes FollowSymLinks Options MultiViews FollowSymLinks AllowOverride None Require all granted </Directory>
171번의 Options Indexes FollowSymLinks를 #으로 주석시키고, Options MultiViews FollowSymLinks 값을 넣어줍니다.
:
를 누르고 wq
를 입력하여 저장 후 종료합니다.
:wq
$ sudo apt install php
혹은
$ sudo apt install php7.4 php7.4-cli \ php7.4-fpm php7.4-bcmath php7.4-bz2 \ php7.4-common php7.4-curl php7.4-dba \ php7.4-gd php7.4-json php7.4-mbstring \ php7.4-opcache php7.4-readline php7.4-soap \ php7.4-xml php7.4-xmlrpc php7.4-zip \ php7.4-ctype php7.4-pdo php7.4-redis \ php7.4-mysql php7.4-imagick php7.4-intl \ php7.4-mysqlnd php7.4-gmp \ php7.4-geoip php7.4-dev -y
를 이용하여 여러 기능을 한 번에 다운 받습니다.
PHP와 Apache와의 연동을 위한 설정입니다.
Apache의 가장 큰 장점 - 플러그인 모듈을 사용한 아주 다양한 기능을 사용 할 수 있다는 점.
다만 많이 추가된 모듈과 사용 환경에 따라 process 기반의 prefork 방식에 의해서 동접자에 따라서 메모리 사용률이 높아지거나 성능에 대한 degrade가 발생.
prefork란? 한 자식 프로세스당 하나의 쓰레드를 사용하는 방법
worker란? 한 자식 프로세스당 여러 개의 쓰레드를 사용하는 방법으로 동시 접속자가 많은 사이트에 적합.
출처 : https://itmore.tistory.com/entry/%EC%95%84%ED%8C%8C%EC%B9%98-prefork-worker-%EB%9E%80
이러한 문제를 해결하기 위해 PHP를 Apache와 별도로 분리하여 Apache의 메모리 사용량이나 CPU 사용량 등의 부하를 분산.
$ cd /etc/php/7.4/fpm/pool.d/ $ sudo vi www.conf
명령을 입력하여 www.conf를 엽니다.
:
을 누르고 set number
를 입력하여 라인 넘버(36)에 listen
값을 접속을 받는 방식을 설정하는 부분으로 Socket(UDS)방식을 사용하거나 IP방식으로 사용해야합니다.
본인의 IP로 지정해줍니다.
/
을 누르고 listen
을 검색하고 n
키를 누르면서 찾아도 됩니다.
php가 Apache와 정상 작동하는지 보기 위하여 행동하는 단계입니다.
$ cd /var/www/html $ sudo vi phpinfo.php
vi
대신 touch
나 vim
으로 작성해도 됩니다.
php의 정보를 가져오기 위해 php코드를 작성해줍니다.
i
를 눌러 INSERT
모드로 전환하고,
<?php phpinfo(); ?>
입력하고 저장 후 종료합니다.(:wq
)
그리고 Apache를 재시작 후 사용자의 localhost로 접속하여 결과를 확인합니다.
$ sudo systemctl restart apache2
다음과 같이 php 창이 나오면 php 설치 완료입니다.
$ sudo apt install mysql
다운을 받으면 mysql의 사용자 비밀번호를 지정하게 되어 있는데 이는 잊어버리지마시고 잘 적어주시기 바랍니다.
root 유저에서는
$ mysql
일반 유저에서는
$ sudo mysql
을 사용하면 패스워드 없이 접속이 가능합니다.
journalctl -xe 오류 발생시 아래 참고
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=lcs5382&logNo=221505802213