Mac 에서 Nginx 환경 설정
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;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.