vagrant에서 Nginx+PHP+php-fpm 환경을 시작합니다.
CentOS7 설치
CentOS7을 다운로드합니다.
$vagrant box add CentOS7 https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box
CentOS7 VM 시작
박스 작성이 성공하면 다음 단계에 따라 Vagrantfile을 작성하십시오.
이번에는 「sample」이라고 하는 디렉토리를 만들어, 그 안에 전개해 갑니다.
또, 이 후, 호스트측(자신의 PC)으로 작성한 php 파일이나 html 파일을, 게스트 OS(이번에 말하는 곳의 vagrant로 시작한 centos)에 동기시키는(마운트)를 위한 설정을 하는 것입니다 그러나 이러한 php 파일과 html 파일을 저장하는 폴더 "sync"를 샘플 아래에 만들어 둡니다.
$ mkdir sync
sample 디렉토리로 이동하여 다음 명령을 실행합니다.
$vagrant init CentOS7
이제 centos7의 os에서 vagrant가 시작되고 vagrantfile이 생성됩니다.
현재 디렉토리 구성은 다음과 같습니다.
sample ┠ sync/
┠ Vagrantfile
생성된 Vagrantfile을 다음과 같이 편집합니다.
Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "CentOS7"
#ローカルでアクセスするときのIPアドレス。初期設定は192.168.33.10のはず。
config.vm.network "private_network", ip: "192.168.33.10"
#同期先を指定。「カレントディレクトリ(.)を/vagrant以下に同期」と、「syncディレクトリを/var/www/」以下に同期する。
config.vm.synced_folder ".", "/vagrant"
config.vm.synced_folder "sync", "/var/www/"
end
그 후 vagrant를 시작하고 ssh로 안으로 들어간다.
$ vagrant up
$ vagrant ssh
vagrant에서의 조작
vagrant에 들어가면 ifconfig에서 방금 지정한 192.168.33.10에 액세스 할 수 있는지 확인하십시오.
$ ifconfig
~~~略~~~~~
inet 192.168.33.10
~~~略~~~~~
같은 표기가 있으면 OK. 그렇지 않으면 or 다른 IP가 되어 있으면, 한 번 vagrant에서 빠져, reload하고 다시 연결한다.
(이하는 없는 사람만이네)
[vagrant@localhost]$ exit
$vagrant reload
$vagrant ssh
다시 확인하여 ifconfig에서 192.168.33.10에 액세스할 수 있는지 확인합니다.
EPEL 리포지토리와 remi 리포지토리
업데이트하고 EPEL 리포지토리와 remi 리포지토리를 추가했습니다.
$sudo yum update
$sudo yum -y install epel-release
$sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
Nginx
/etc/yum.repos.d/nginx.repo 만들기
etc/yum.repos.d/nginx.repo[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
enabled=0
gpgcheck=0
Nginx를 설치합니다.
$sudo yum -y --enablerepo=nginx install nginx
$nginx -v
#バージョンが表示されればOK
nginx를 시작합니다.
$sudo systemctl start nginx
$sudo systemctl enable nginx
nginx가 시작되었는지 확인합니다.
$sudo systemctl status nginx
#ここで、「Active: active (running)」になっていればOK。こんな感じ
#Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
# Active: active (running) since 木 2019-04-18 15:27:49 CEST; 1h 46min ago
방화벽
이대로는 방화벽에 의해 막혀 액세스할 수 없기 때문에, 80번 포트(http의 포트)를 해방합니다.
$ sudo firewall-cmd --add-service=http --permanent
$ sudo firewall-cmd --reload
nginx 시작, 방화벽 설정이 끝났으므로 브라우저에 액세스해 보겠습니다.
nginx의 환영 페이지가 표시되면 OK입니다.
nginx 설정 편집
여기에서 nginx 설정을 밟아갑니다./etc/nginx/conf.d/default.conf의 구성 파일을 편집하고 다음을 수행합니다.
server {
listen 80;
server_name localhost;
#ここは「sync」フォルダ以下にあるファイルを参照してほしいので、「sync」の同期先であるvar/wwwを指定。
root /var/www;
charset UTF-8;
access_log /var/log/nginx/www.example.com.access.log main;
error_log /var/log/nginx/www.example.com.error.log;
location / {
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
nginx의 설정 파일을 괴롭힌 후에는 restart해야 하기 때문에 아래에서 다시 시작합니다.
$ systemctl restart nginx
php,php-fpm 설치
$ yum -y install --enablerepo=epel,remi,remi-php72 php php-mbstring php-pdo php-mysqlnd php-fpm php-gd
새로운 php와 php-fpm이 들어 있는지 확인.
$ php -v
$ php-fpm -v
그런 다음/etc/php-fpm.d/www.conf의 php-fpm 구성 파일을 편집합니다.
이 5개의 기술을 코멘트 아웃(;) 혹은 삭제해, (각각 떨어진 곳에 있으므로 찾기 어려울지도)
/etc/php-fpm.d/www.conf;listen = 127.0.0.1:9000
;user = apache
;group = apache
;listen.owner = nobody
;listen.group = nobody
다음을 추가.
/etc/php-fpm.d/www.confuser = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.group = nginx
listen.owner = nginx
설정을 반영하기 위해 php-fpm을 다시 시작합니다.
$ sudo systemctl restart php-fpm
ngix와 마찬가지로 시작할 수 있는지 확인합니다. "Active: active (running)"이 되어 있으면 OK
$systemctl status php-fpm
/var/www/에서 index.php를 만들고 php의 시작을 확인하고 싶습니다. "/var/www/이하로 이동하여 vi에서 index.php를 만들어 ... 하지 않고 k.
최초로 한 Vagrantfile의 설정으로 「sync」에 작성한 것은 「var/www」에 동기되기 때문에, 자신의 PC의 에디터로 작성해 괜찮다.
index.php<?php phpinfo(); ?>
여기서, 192.168.33.10에 액세스해, 이하와 같이 되어 있으면 OK입니다! ! !
만약 에러 나왔을 경우는 nginx의 에러 로그(/var/log/nginx/error.log)등을 보면 좋을 것입니다.
Reference
이 문제에 관하여(vagrant에서 Nginx+PHP+php-fpm 환경을 시작합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/wjtnk/items/05446949a2d6018132b9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$vagrant box add CentOS7 https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box
박스 작성이 성공하면 다음 단계에 따라 Vagrantfile을 작성하십시오.
이번에는 「sample」이라고 하는 디렉토리를 만들어, 그 안에 전개해 갑니다.
또, 이 후, 호스트측(자신의 PC)으로 작성한 php 파일이나 html 파일을, 게스트 OS(이번에 말하는 곳의 vagrant로 시작한 centos)에 동기시키는(마운트)를 위한 설정을 하는 것입니다 그러나 이러한 php 파일과 html 파일을 저장하는 폴더 "sync"를 샘플 아래에 만들어 둡니다.
$ mkdir sync
sample 디렉토리로 이동하여 다음 명령을 실행합니다.
$vagrant init CentOS7
이제 centos7의 os에서 vagrant가 시작되고 vagrantfile이 생성됩니다.
현재 디렉토리 구성은 다음과 같습니다.
sample ┠ sync/
┠ Vagrantfile
생성된 Vagrantfile을 다음과 같이 편집합니다.
Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "CentOS7"
#ローカルでアクセスするときのIPアドレス。初期設定は192.168.33.10のはず。
config.vm.network "private_network", ip: "192.168.33.10"
#同期先を指定。「カレントディレクトリ(.)を/vagrant以下に同期」と、「syncディレクトリを/var/www/」以下に同期する。
config.vm.synced_folder ".", "/vagrant"
config.vm.synced_folder "sync", "/var/www/"
end
그 후 vagrant를 시작하고 ssh로 안으로 들어간다.
$ vagrant up
$ vagrant ssh
vagrant에서의 조작
vagrant에 들어가면 ifconfig에서 방금 지정한 192.168.33.10에 액세스 할 수 있는지 확인하십시오.
$ ifconfig
~~~略~~~~~
inet 192.168.33.10
~~~略~~~~~
같은 표기가 있으면 OK. 그렇지 않으면 or 다른 IP가 되어 있으면, 한 번 vagrant에서 빠져, reload하고 다시 연결한다.
(이하는 없는 사람만이네)
[vagrant@localhost]$ exit
$vagrant reload
$vagrant ssh
다시 확인하여 ifconfig에서 192.168.33.10에 액세스할 수 있는지 확인합니다.
EPEL 리포지토리와 remi 리포지토리
업데이트하고 EPEL 리포지토리와 remi 리포지토리를 추가했습니다.
$sudo yum update
$sudo yum -y install epel-release
$sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
Nginx
/etc/yum.repos.d/nginx.repo 만들기
etc/yum.repos.d/nginx.repo[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
enabled=0
gpgcheck=0
Nginx를 설치합니다.
$sudo yum -y --enablerepo=nginx install nginx
$nginx -v
#バージョンが表示されればOK
nginx를 시작합니다.
$sudo systemctl start nginx
$sudo systemctl enable nginx
nginx가 시작되었는지 확인합니다.
$sudo systemctl status nginx
#ここで、「Active: active (running)」になっていればOK。こんな感じ
#Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
# Active: active (running) since 木 2019-04-18 15:27:49 CEST; 1h 46min ago
방화벽
이대로는 방화벽에 의해 막혀 액세스할 수 없기 때문에, 80번 포트(http의 포트)를 해방합니다.
$ sudo firewall-cmd --add-service=http --permanent
$ sudo firewall-cmd --reload
nginx 시작, 방화벽 설정이 끝났으므로 브라우저에 액세스해 보겠습니다.
nginx의 환영 페이지가 표시되면 OK입니다.
nginx 설정 편집
여기에서 nginx 설정을 밟아갑니다./etc/nginx/conf.d/default.conf의 구성 파일을 편집하고 다음을 수행합니다.
server {
listen 80;
server_name localhost;
#ここは「sync」フォルダ以下にあるファイルを参照してほしいので、「sync」の同期先であるvar/wwwを指定。
root /var/www;
charset UTF-8;
access_log /var/log/nginx/www.example.com.access.log main;
error_log /var/log/nginx/www.example.com.error.log;
location / {
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
nginx의 설정 파일을 괴롭힌 후에는 restart해야 하기 때문에 아래에서 다시 시작합니다.
$ systemctl restart nginx
php,php-fpm 설치
$ yum -y install --enablerepo=epel,remi,remi-php72 php php-mbstring php-pdo php-mysqlnd php-fpm php-gd
새로운 php와 php-fpm이 들어 있는지 확인.
$ php -v
$ php-fpm -v
그런 다음/etc/php-fpm.d/www.conf의 php-fpm 구성 파일을 편집합니다.
이 5개의 기술을 코멘트 아웃(;) 혹은 삭제해, (각각 떨어진 곳에 있으므로 찾기 어려울지도)
/etc/php-fpm.d/www.conf;listen = 127.0.0.1:9000
;user = apache
;group = apache
;listen.owner = nobody
;listen.group = nobody
다음을 추가.
/etc/php-fpm.d/www.confuser = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.group = nginx
listen.owner = nginx
설정을 반영하기 위해 php-fpm을 다시 시작합니다.
$ sudo systemctl restart php-fpm
ngix와 마찬가지로 시작할 수 있는지 확인합니다. "Active: active (running)"이 되어 있으면 OK
$systemctl status php-fpm
/var/www/에서 index.php를 만들고 php의 시작을 확인하고 싶습니다. "/var/www/이하로 이동하여 vi에서 index.php를 만들어 ... 하지 않고 k.
최초로 한 Vagrantfile의 설정으로 「sync」에 작성한 것은 「var/www」에 동기되기 때문에, 자신의 PC의 에디터로 작성해 괜찮다.
index.php<?php phpinfo(); ?>
여기서, 192.168.33.10에 액세스해, 이하와 같이 되어 있으면 OK입니다! ! !
만약 에러 나왔을 경우는 nginx의 에러 로그(/var/log/nginx/error.log)등을 보면 좋을 것입니다.
Reference
이 문제에 관하여(vagrant에서 Nginx+PHP+php-fpm 환경을 시작합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/wjtnk/items/05446949a2d6018132b9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$sudo yum update
$sudo yum -y install epel-release
$sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
/etc/yum.repos.d/nginx.repo 만들기
etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
enabled=0
gpgcheck=0
Nginx를 설치합니다.
$sudo yum -y --enablerepo=nginx install nginx
$nginx -v
#バージョンが表示されればOK
nginx를 시작합니다.
$sudo systemctl start nginx
$sudo systemctl enable nginx
nginx가 시작되었는지 확인합니다.
$sudo systemctl status nginx
#ここで、「Active: active (running)」になっていればOK。こんな感じ
#Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
# Active: active (running) since 木 2019-04-18 15:27:49 CEST; 1h 46min ago
방화벽
이대로는 방화벽에 의해 막혀 액세스할 수 없기 때문에, 80번 포트(http의 포트)를 해방합니다.
$ sudo firewall-cmd --add-service=http --permanent
$ sudo firewall-cmd --reload
nginx 시작, 방화벽 설정이 끝났으므로 브라우저에 액세스해 보겠습니다.
nginx의 환영 페이지가 표시되면 OK입니다.
nginx 설정 편집
여기에서 nginx 설정을 밟아갑니다./etc/nginx/conf.d/default.conf의 구성 파일을 편집하고 다음을 수행합니다.
server {
listen 80;
server_name localhost;
#ここは「sync」フォルダ以下にあるファイルを参照してほしいので、「sync」の同期先であるvar/wwwを指定。
root /var/www;
charset UTF-8;
access_log /var/log/nginx/www.example.com.access.log main;
error_log /var/log/nginx/www.example.com.error.log;
location / {
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
nginx의 설정 파일을 괴롭힌 후에는 restart해야 하기 때문에 아래에서 다시 시작합니다.
$ systemctl restart nginx
php,php-fpm 설치
$ yum -y install --enablerepo=epel,remi,remi-php72 php php-mbstring php-pdo php-mysqlnd php-fpm php-gd
새로운 php와 php-fpm이 들어 있는지 확인.
$ php -v
$ php-fpm -v
그런 다음/etc/php-fpm.d/www.conf의 php-fpm 구성 파일을 편집합니다.
이 5개의 기술을 코멘트 아웃(;) 혹은 삭제해, (각각 떨어진 곳에 있으므로 찾기 어려울지도)
/etc/php-fpm.d/www.conf;listen = 127.0.0.1:9000
;user = apache
;group = apache
;listen.owner = nobody
;listen.group = nobody
다음을 추가.
/etc/php-fpm.d/www.confuser = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.group = nginx
listen.owner = nginx
설정을 반영하기 위해 php-fpm을 다시 시작합니다.
$ sudo systemctl restart php-fpm
ngix와 마찬가지로 시작할 수 있는지 확인합니다. "Active: active (running)"이 되어 있으면 OK
$systemctl status php-fpm
/var/www/에서 index.php를 만들고 php의 시작을 확인하고 싶습니다. "/var/www/이하로 이동하여 vi에서 index.php를 만들어 ... 하지 않고 k.
최초로 한 Vagrantfile의 설정으로 「sync」에 작성한 것은 「var/www」에 동기되기 때문에, 자신의 PC의 에디터로 작성해 괜찮다.
index.php<?php phpinfo(); ?>
여기서, 192.168.33.10에 액세스해, 이하와 같이 되어 있으면 OK입니다! ! !
만약 에러 나왔을 경우는 nginx의 에러 로그(/var/log/nginx/error.log)등을 보면 좋을 것입니다.
Reference
이 문제에 관하여(vagrant에서 Nginx+PHP+php-fpm 환경을 시작합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/wjtnk/items/05446949a2d6018132b9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ sudo firewall-cmd --add-service=http --permanent
$ sudo firewall-cmd --reload
여기에서 nginx 설정을 밟아갑니다./etc/nginx/conf.d/default.conf의 구성 파일을 편집하고 다음을 수행합니다.
server {
listen 80;
server_name localhost;
#ここは「sync」フォルダ以下にあるファイルを参照してほしいので、「sync」の同期先であるvar/wwwを指定。
root /var/www;
charset UTF-8;
access_log /var/log/nginx/www.example.com.access.log main;
error_log /var/log/nginx/www.example.com.error.log;
location / {
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
nginx의 설정 파일을 괴롭힌 후에는 restart해야 하기 때문에 아래에서 다시 시작합니다.
$ systemctl restart nginx
php,php-fpm 설치
$ yum -y install --enablerepo=epel,remi,remi-php72 php php-mbstring php-pdo php-mysqlnd php-fpm php-gd
새로운 php와 php-fpm이 들어 있는지 확인.
$ php -v
$ php-fpm -v
그런 다음/etc/php-fpm.d/www.conf의 php-fpm 구성 파일을 편집합니다.
이 5개의 기술을 코멘트 아웃(;) 혹은 삭제해, (각각 떨어진 곳에 있으므로 찾기 어려울지도)
/etc/php-fpm.d/www.conf;listen = 127.0.0.1:9000
;user = apache
;group = apache
;listen.owner = nobody
;listen.group = nobody
다음을 추가.
/etc/php-fpm.d/www.confuser = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.group = nginx
listen.owner = nginx
설정을 반영하기 위해 php-fpm을 다시 시작합니다.
$ sudo systemctl restart php-fpm
ngix와 마찬가지로 시작할 수 있는지 확인합니다. "Active: active (running)"이 되어 있으면 OK
$systemctl status php-fpm
/var/www/에서 index.php를 만들고 php의 시작을 확인하고 싶습니다. "/var/www/이하로 이동하여 vi에서 index.php를 만들어 ... 하지 않고 k.
최초로 한 Vagrantfile의 설정으로 「sync」에 작성한 것은 「var/www」에 동기되기 때문에, 자신의 PC의 에디터로 작성해 괜찮다.
index.php<?php phpinfo(); ?>
여기서, 192.168.33.10에 액세스해, 이하와 같이 되어 있으면 OK입니다! ! !
만약 에러 나왔을 경우는 nginx의 에러 로그(/var/log/nginx/error.log)등을 보면 좋을 것입니다.
Reference
이 문제에 관하여(vagrant에서 Nginx+PHP+php-fpm 환경을 시작합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/wjtnk/items/05446949a2d6018132b9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ yum -y install --enablerepo=epel,remi,remi-php72 php php-mbstring php-pdo php-mysqlnd php-fpm php-gd
$ php -v
$ php-fpm -v
;listen = 127.0.0.1:9000
;user = apache
;group = apache
;listen.owner = nobody
;listen.group = nobody
user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.group = nginx
listen.owner = nginx
$ sudo systemctl restart php-fpm
$systemctl status php-fpm
<?php phpinfo(); ?>
Reference
이 문제에 관하여(vagrant에서 Nginx+PHP+php-fpm 환경을 시작합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/wjtnk/items/05446949a2d6018132b9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)