Mac 에서 Nginx 환경 설정

6560 단어
환경 정보:
Mac OS X 10.11.1 Homebrew 0.9.5
본문
1. Nginx 설치
터미널 실행:
brew search nginx
brew install nginx

현재 버 전 1.6.2 설치 후 터미널 출력 정보 에서 설정 경 로 를 볼 수 있 습 니 다. / usr / local / etc / nginx / nginx. conf (설정 파일 경로) / usr / local / var / www (서버 기본 경로) / usr / local / cellar / nginx / 1.6.2 (설치 경로 인 것 같 습 니 다)
2. localhost 방문: 8080
Nginx 기본 8080 포트 입 니 다. 이 때 는 이미 접근 할 수 있 습 니 다. localhost: 8080 에는 기본 환영 인터페이스 가 있 습 니 다.
php - fpm 파일 수정
1. 명령 실행:
sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf

2. 디 렉 터 리 에 있 는 php - fpm 파일 찾기 / private / etc / php - fpm. conf 3. 32 줄 의 error 찾기log, (줄 바 꾸 기, ';' 와 빈 칸 주의): errorlog = / usr / local / var / log / php - fpm. log 그렇지 않 으 면 php - fpm 에서 오류 가 발생 합 니 다: ERROR: failed to open errorlog (/usr/var/log/php-fpm.log): No such file or directory (2)
4. Nginx 설정 수정
nginx. config 파일 / usr / local / etc / nginx / nginx. conf 2 를 엽 니 다. server 의 location 설정 을 찾 아 index. php 를 추가 합 니 다.
location / {
root  html;
index  index.html index.htm index.php;
}

3. server 에서 설명 되 어 있 는 location ~. php $(즉, 코드 앞의 '\ #' 을 삭제 합 니 다) 를 엽 니 다. 다음 과 같 습 니 다.
location ~ \.php$ {
root          html;
fastcgi_pass  127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
include        fastcgi_params;
}

4. fastcgi 수정param 파라미터 fastcgiparam SCRIPT_FILENAME /scripts$fastcgi_script_name; fastcgi 로 변경param SCRIPT_FILENAME $document_root$fastcgi_script_name;
5. index. php 만 들 기
/ usr / local / var / www 디 렉 터 리 에서 index. html 를 삭제 하고 index. php 를 만 들 고 입력 하 십시오.
6. 관련 서비스 시작
sudo nginx
sudo php-fpm

그리고 localhost: 8080 을 방문 하여 phop 설정 정 보 를 보면 ok 을 설명 합 니 다.
7. 기타 명령
nginx. conf 를 수정 한 후 설정 파일 sudo nginx - s reload 를 다시 불 러 와 nginx 서버 sudo nginx - s stop 정지 pp - fpm 는 Activity Monitor 에서 직접 중단 할 수 있 습 니 다.스 크 립 트 로 멈 출 수도 있 습 니 다.
8. 발생 할 수 있 는 문제
1. index. php 신문 403 Forbidden 에 접근 합 니 다. (4. 2) 단계 에서 index 뒤에 index. php 를 추가 할 지 확인 합 니 다.2. index. php 신문 File not found 를 방문 합 니 다. 보기 (4. 4) 에서 fastcgiparam 인자 수정 여부 입 니 다.
비고: Nginx 에서 PHP 를 실행 하려 면 php - fpm 를 사용 해 야 합 니 다.
테스트 php - fpm
php-fpm -v

첨부: Mac 자체 phop - fpm 명령 테스트: / usr / bin / phop - fpm - v 실행 phop - fpm
sudo php-fpm -D

php - fpm 닫 기
sudo killall php-fpm

php - fpm 실행 상태 보기
lsof -Pni4 | grep LISTEN | grep php

php - fpm 시동
ln -sfv /usr/local/opt/php56/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.php56.plist

이 가능 하 다, ~ 할 수 있다,...
ERROR: failed to open configuration file '/private/etc/php-fpm.conf': No such file or directory
ERROR: failed to load configuration file '/private/etc/php-fpm.conf'
ERROR: FPM initialization failed

해결 방법
sudo cp /private/etc/php-fpm.conf.default /private/etc/php-fpm.conf

이 가능 하 다, ~ 할 수 있다,...
ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)
ERROR: failed to post process the configuration
ERROR: FPM initialization failed

해결 방법
sudo vi /private/etc/php-fpm.conf
error_log 항목 을 찾 아 아래 에 추가 합 니 다:
error_log = /usr/local/var/log/php-fpm.log
pid = /usr/local/var/run/php-fpm.pid

nginx 기본 설치 설치 명령:
brew install nginx

시작 닫 기 명령:
설정 에 문법 오류 가 있 는 지 테스트 합 니 다.
nginx -t

nginx 열기
sudo nginx

설정 다시 불 러 오기 | 다시 시작 | 정지 | nginx 종료
nginx -s reload|reopen|stop|quit

부팅 시작:
ln -sfv /usr/local/opt/nginx/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist

nginx 감청 80 포트:
sudo chown root:wheel /usr/local/Cellar/nginx/1.6.0_1/bin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.6.0_1/bin/nginx

설정 파일 은 ubuntu 파일 형식 으로 설정 파일 을 저장 하고 여러 도 메 인 이름 을 쉽게 설정 할 수 있 습 니 다.
mkdir -p /usr/local/var/logs/nginx
mkdir -p /usr/local/etc/nginx/sites-available
mkdir -p /usr/local/etc/nginx/sites-enabled
mkdir -p /usr/local/etc/nginx/conf.d
mkdir -p /usr/local/etc/nginx/ssl

Nginx 전역 설정 편집
vim /usr/local/etc/nginx/nginx.conf

다음 내용 추가
worker_processes  1;
error_log  /usr/local/var/logs/nginx/error.log debug;
pid        /usr/local/var/run/nginx.pid;
events {
worker_connections  256;
}
http {
include      mime.types;
default_type  application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$http_x_forwarded_for" $host $request_time $upstream_response_time $scheme '
'$cookie_evalogin';
access_log  /usr/local/var/logs/access.log  main;
sendfile        on;
keepalive_timeout  65;
port_in_redirect off;
include /usr/local/etc/nginx/sites-enabled/*;
}

nginx php - fpm 프로필 설정
vim /usr/local/etc/nginx/conf.d/php-fpm

다음 설정 입력
location ~ \.php$ {
try_files                  $uri = 404;
fastcgi_pass                127.0.0.1:9000;
fastcgi_index              index.php;
fastcgi_intercept_errors    on;
include /usr/local/etc/nginx/fastcgi.conf;
}

/ usr / local / etc / nginx / sites - enabled 디 렉 터 리 에서 도 메 인 이름 설정 에 대응 하 는 파일 을 설정 합 니 다. 웹 서버 디 렉 터 리 는 / var / www 입 니 다.
sudo mkdir -p /var/www
sudo chown :staff /var/www
sudo chmod 775 /var/www
vi /var/www/info.php
vi /var/www/index.html
vi /var/www/403.html
vi /var/www/404.html

기본 가상 호스트 만 들 기 default
vim /usr/local/etc/nginx/sites-available/default

다음 설정 입력
server {
listen      80;
server_name  localhost;
root        /var/www/;
access_log  /usr/local/var/logs/nginx/default.access.log  main;
location / {
index  index.html index.htm index.php;
autoindex  on;
include    /usr/local/etc/nginx/conf.d/php-fpm;
}
location = /info {
allow  127.0.0.1;
deny    all;
rewrite (.*) /.info.php;
}
error_page  404    /404.html;
error_page  403    /403.html;
}

좋은 웹페이지 즐겨찾기