ubuntu 아래 nginx + php + mysql 설정 상세 설명

5053 단어
1. 업데이트
www.jb51.net
 
  
sudo apt-get update

2. nginx 설치
 
  
sudo apt-get intsall nginx

Ubuntu 설치 후 파일 구 조 는 다음 과 같 습 니 다.
* 모든 프로필 은 / etc / nginx 에 있 고 모든 가상 호스트 는 / etc / nginx / sites - available 에 배치 되 어 있 습 니 다.  www.jb51.net 
* 프로그램 파일 은 / usr / sbin / nginx * 로그 에 / var / log / nginx 에 놓 여 있 습 니 다.
* 시작 스 크 립 트 nginx 를 / etc / init. d / 에 만 들 었 습 니 다.
* 기본 가상 호스트 의 디 렉 터 리 는 / var / www / nginx - default 에 설정 되 어 있 습 니 다.
다음은 nginx 를 시작 하여 효 과 를 볼 수 있 습 니 다. (80 포트 에 다른 서비스 가 사용 되 지 않 는 지 확인 하 십시오)
 
  
sudo /etc/init.d/nginx start

\ # 혹은 간단 한
 
  
service nginx start

그리고 브 라 우 저 를 열 어 보 세 요.http://localhost/ 'Welcome to nginx!'보 았 다 면 설치 에 성공 했다 는 뜻 입 니 다.
물론, 기본적으로 이 덩어리 는 문제 가 되 지 않 을 것 이다. 만약 운행 에 성공 하지 못 한다 면, 먼저
 
  
sudo killall apache2

apache 프로 세 스 죽 이기
3. php 설치
 
  
sudo apt-get install php5 php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-pspell php5-recode php5-snmp php5-tidy php5-xmlrpc php5-sqlite php5-xsl

4. spawn - fcgi 설치
왜 spawn - fcgi 를 설치 해 야 합 니까? phop - cgi 프로 세 스 를 제어 하여 프로 세 스 가 무 너 지 거나 단일 프로 세 스 의 효율 이 너무 낮 습 니 다.
인터넷 상에 서 많은 사람들 이 spawn - fcgi 를 사용 하려 면 반드시 lighttpd 를 설치 해 야 한다 고 말 하지만, 실제로는 필요 하지 않 으 며, 직접 spawn - fcgi 를 설치 할 수 있다
실행:
 
  
sudo apt-get install spawn-fcgi

5. 설정
다음은 가장 골 치 아 픈 설정 이다.
Nginx 와 spawn - fcgi 가 함께 실행 되도록 설정 합 니 다.
(1). / etc / nginx / fastcgiparams 파일 마지막, 한 줄 추가, 사용 가능

sudo vi /etc/nginx/fastcgi_params 

이 줄 에 가입:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

(2). PHP - CGI 설정 파일 (Ubuntu 에서 이 설정 파일 은 / etc / phop 5 / cgi / phop. ini) 에서 cgi. fix 를 찾 아야 합 니 다.pathinfo 옵션, 다음 으로 변경:

cgi.fix_pathinfo=1;

이렇게 php - cgi 를 사용 해 야 SCRIPT 를 정상적으로 사용 할 수 있 습 니 다.FILENAME 이 변수.
(3). / etc / nginx / sites - available / default 파일 을 열 면

server {
listen 80;
server_name localhost;

웹 루트 디 렉 터 리 의 절대 주 소 를 추가 합 니 다. 여 기 는 nginx 의 기본 주 소 를 사용 합 니 다.

root /var/www/nginx-default

즉 루트 와 servername 동급 이 단락 은 apache 의 기본 디 렉 터 리 에 해당 합 니 다.
이것 이 없 으 면 php 파일 을 실행 하기 쉬 울 때 "No input file specified" 를 알려 줍 니 다.
나 는 일찍이 이곳 에서 여러 바퀴 돌 고 나 서 야 문 제 를 발견 했다. 그리고 수정 했다.
#location ~ .php$ { #fastcgi_pass 127.0.0.1:9000; #fastcgi_index index.php; #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; #includefastcgi_params; #}
고치다 
location ~. php ${fastcgi pass 127.0.0.1: 9000; fastcgi index index. php; fastcgi param SCRIPT FILENAME / var / www / nginx - default $fastcgi script name; include / etc / nginx / fastcgi params; \ # fastcgi 를 포함 하 는 매개 변수 파일 주소
6. fast cgi 프로 세 스 시작

sudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid


7. fastcgi 프로 세 스 를 시작 하고 시작 하도록 설정 합 니 다.

sudo vi /etc/rc.local

다음 줄 추가

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

php 파일 을 열 면: No input file 이 지정 되 었 습 니 다. php. ini 설정 을 확인 하 십시오.
cgi.fix_pathinfo=1
doc_root=
그리고 모든 허 기 는 자신의 서로 다른 허 기 에 따라 서로 다른 디 렉 터 리 를 설정 하고 이 경로 가 정확 하도록 해 야 한다.
검사 / etc / nginx / sites - available 설정 파일 에 server 에는 location 내 루트 가 아 닌 루트 와 주소 가 포함 되 어 있 습 니 다.
시동 을 걸다

fast-cgisudo /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

매개 변수 의 미 는 다음 과 같다.
* - f FastCGI 를 호출 하 는 프로 세 스 의 실행 프로그램 위 치 를 지정 합 니 다. 시스템 에 설 치 된 PHP 의 상황 에 따라 * - a 를 주소 addr * - p 에 연결 하여 포트 port * - s 에 연결 합 니 다. 유 닉 스 socket 에 연 결 된 경로 path * - C 에서 지정 한 FastCGI 의 프로 세 스 수 입 니 다. 기본 값 은 5 (PHP 에 만 사용) * - P 에서 지정 한 프로 세 스 의 PID 파일 경로 * - u 와 - g FastCGI 는 어떤 신분 을 사용 합 니까?(- u 사용자 - g 사용자 그룹) 이 실 행 됩 니 다. Ubuntu 에 서 는 www - data 를 사용 할 수 있 습 니 다. 다른 상황 에 따라 설정 할 수 있 습 니 다. 예 를 들 어 nobody, apache 등 은 이제 웹 루트 디 렉 터 리 에 프로 브 나 phop 파일 을 놓 고 테스트 할 수 있 습 니 다.
8, mysql 설치

sudo apt-get install mysql-server mysql-client

중간 에 루트 사용자 비밀 번 호 를 입력 하 라 고 알려 주 고 순서대로 입력 하면 됩 니 다.
MySQL 시작
sudo /etc/init.d/mysql start
mysql 서비스 가 정상 인지 테스트 하기:
운행 하 다.
mysql -uroot -p
mysql 비밀번호 입력
show databases;
하면, 만약, 만약...
| Database | | information_schema | | mysql |
my sql 이 올 바 르 게 설치 되 었 습 니 다.
이로써 ubuntu 의 nginx + php + mysql 설치 가 완료 되 었 습 니 다.

좋은 웹페이지 즐겨찾기