Ubuntu + Nginx + Mysql + Php + Zend + eaccelerator 설치 설정 텍스트 판

12641 단어
제 가 lnmp 사 이 트 를 가설 하 는 과정 을 써 서 사 이 트 를 가설 하고 싶 은 친구 에 게 도움 이 되 기 를 바 랍 니 다. 더 좋 은 방법 이 있 으 면 말씀 하 세 요.
nginx 를 사용 하여 apache 를 사용 하지 않 은 이 유 는 nginx 의 효율 이 더욱 높 기 때 문 입 니 다. 특히 저 설정 서버, 예 를 들 어 제 가 단위 256 M 메모리 의 오래된 기계 에 설 치 된 서버 등 입 니 다.
1. ubuntu server 10.04 또는 10.10 을 설치 합 니 다. 그 중에서 언어 선택 en, 시간 대 shanghai 를 설치 하고 서 비 스 는 ssh 만 설치 하 며 다른 것 은 모두 기본 값 으로 사용 하면 됩 니 다.
알림: 상기 설치 과정 이 끝 난 후에 다른 컴퓨터 로 서버 에 로그 인 하 는 것 을 권장 합 니 다. windows 시스템 은 putty 를 사용 할 수 있 고 Liux 시스템 은 터미널 에서 명령 을 사용 하면 됩 니 다.
코드:
ssh 로그 인 이름 @ 서버 ip
다음 과정 에서 대량의 명령 과 코드 를 입력 해 야 하기 때문에 클 라 이언 트 에 직접 붙 여 넣 으 면 됩 니 다 (windows 아래 putty 에서 오른쪽 단 추 를 누 르 면 클립보드 의 내용 을 터미널 에 붙 일 수 있 습 니 다).
2. 소스 추가:
코드:
 
  
sudo vi /etc/apt/sources.list

lucid (10.04) 의 원본 은 다음 과 같 습 니 다.
코드:
 
  
deb http://archive.ubuntu.com/ubuntu/ lucid main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ lucid-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ lucid main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ lucid-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
deb http://ppa.launchpad.net/nginx/stable/ubuntu lucid main
deb http://ppa.launchpad.net/brianmercer/php/ubuntu lucid main

maverick (10.10) 의 원본:
코드:
 
  
deb http://archive.ubuntu.com/ubuntu/ maverick main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ maverick-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ maverick-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ maverick-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ maverick main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ maverick-security main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ maverick-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ maverick-backports main restricted universe multiverse
deb http://ppa.launchpad.net/nginx/stable/ubuntu maverick main

마지막 행동 nginx 의 ppa 원본 은 key 를 추가 하여 터미널 에서 실행 해 야 합 니 다:
코드:
 
  
sudo apt-key adv --keyserver keyserver.Ubuntu.com --recv-keys C300EE8C

3. 업데이트
코드:
 
  
sudo apt-get update

4. 사이트 시스템 설치
코드:
 
  
sudo apt-get install nginx php5-common php5-dev php5-cgi php5-fpm php-apc php5-mysql php5-curl php5-gd php5-idn php-pear php5-mcrypt php5-memcache php5-ming php5-recode php5-tidy php5-xmlrpc php5-xsl mysql-server

위 는 필수 설치 입 니 다. 아래 phop 구성 요 소 는 선택 적 으로 설치 할 수 있 습 니 다. 일반 사이트 프로그램 은 사용 하지 않 을 수 있 습 니 다.
코드:
 
  
sudo apt-get install php5-imagick php5-imap php5-recode php5-snmp php5-sqlite php5-xmlrpc php5-suhosin php5-odbc php5-ladp

5. nginx 프로필 수정
코드:
 
  
sudo vi /etc/nginx/sites-enabled/default

그 중의:
코드:
 
  
location / {
root /var/www;
index index.html index.htm;
}

다음으로 변경:
코드:
 
  
location / {
root /var/www/nginx-default;
index index.php index.html index.htm;
}

그 중의:
코드:
#location ~ \.php$ {
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# include fastcgi_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 fastcgi_params;
}

6. 사이트 디 렉 터 리 소유권 변경:
코드:
sudo chown -R ubuntu nginx-default/
주: 그 중의 ubuntu 는 시스템 로그 인 사용자 이름 입 니 다.
7. ZendGuardLoader 및 eaccelerator 설치:
코드:
 
  
sudo mkdir /usr/zend
mkdir /tmp/eaccelerator
chmod 0777 /tmp/eaccelerator
wget http://phpcj.googlecode.com/files/ZendGuardLoader.so
sudo mv ZendGuardLoader.so /usr/zend/ZendGuardLoader.so
wget http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
tar xvjf eaccelerator-0.9.6.1.tar.bz2
cd eaccelerator-0.9.6.1
cp control.php /var/www/nginx-default/control.php // , http:// /control.php , admin, eAccelertor, 。
phpize
sudo ./configure --enable-eaccelerator=shared
sudo make
sudo make install
sudo vi /etc/php5/fpm/php.ini

프로필 마지막 에 추가:
코드:
 
  
zend_extension=/usr/zend/ZendGuardLoader.so
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
zend_extension="/usr/lib/php5/20090626+lfs/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
eaccelerator.allowed_admin_path="/var/www/nginx-default/control.php"

8. (선택 가능 한 절차) phpmyadmin 설치:
코드:
 
  
wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.3.9/phpMyAdmin-3.3.9-all-languages.tar.bz2
tar xvjf phpMyAdmin-3.3.9-all-languages.tar.bz2
mv phpMyAdmin-3.3.9-all-languages /var/www/nginx-default/phpmyadmin
cd /var/www/nginx-default/phpmyadmin
cp config.sample.inc.php config.inc.php
vi config.inc.php

그 중:
코드:
 
  
$cfg['blowfish_secret'] = '';

다음으로 변경:
코드:
 
  
$cfg['blowfish_secret'] = 'web';

다음:
코드:
 
  
// $cfg['Servers'][$i]['controluser'] = 'pma';
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';
// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
// $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
// $cfg['Servers'][$i]['relation'] = 'pma_relation';
// $cfg['Servers'][$i]['table_info'] = 'pma_table_info';
// $cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
// $cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
// $cfg['Servers'][$i]['column_info'] = 'pma_column_info';
// $cfg['Servers'][$i]['history'] = 'pma_history';
// $cfg['Servers'][$i]['tracking'] = 'pma_tracking';
// $cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
// $cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey-pma.conf';

/ / 를 모두 삭제 하고 그 중:
코드:
 
  
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'pmapass';

pma 와 pmapass 를 mysql 사용자 이름과 비밀번호 로 바 꾸 고 마지막 으로 phpmyadmin 에 로그 인하 여 phpmyadmin / scripts 디 렉 터 리 의 creattables. sql 파일 가 져 오기 my sql.
9. 시스템 재 부팅, 파일 업로드, 사이트 구축 성공!해 봐!
파일 업로드 권장 filezilla (http://filezilla-project.org/) 무료 오픈 소스 ftp 소프트웨어, windows 와 Liux 를 모두 사용 할 수 있 으 며, ssh 의 22 포트 를 지원 합 니 다.
첨부: 시스템 및 일부 소프트웨어 관리 작업
1. 운영 체제:
코드:
 
  
sudo reboot now //
sudo halt //

2. nginx 설정 수정 및 적용:
코드:
 
  
sudo vi /etc/nginx/nginx.conf //
sudo vi /etc/nginx/sites-enabled/default //
sudo service nginx restart // nginx

3. phop 설정 수정 및 적용:
코드:
 
  
sudo vi /etc/php5/fpm/php.ini //
sudo service php5-fpm restart // fastcgi

3. 사이트 목록:
코드:
 
  
/var/www/nginx-default

4. eaccelerator 관리:
코드:
 
  
http:// /control.php

5. nginx + phop 에 나타 난 중대 한 구멍 을 복구 하고 업로드 파일 크기 를 수정 합 니 다 (자신의 상황 을 볼 수 있 습 니 다)
코드:
 
  
sudo vi /etc/php5/fpm/php.ini
cgi.fix_pathinfo = 0 //
upload_max_filesize = 2M 5M //

6. 방화벽 설정
코드:
 
  
sudo ufw enable
sudo ufw default deny
sudo ufw allow 80
sudo ufw allow 22

7. php 5 - fpm 를 시작 할 때 나타 납 니 다:
코드:
 
  
PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/fpm/conf.d/ming.ini on line 1 in Unknown on line 0
[WARNING] [pool www] pm.start_servers is not set. It's been set to 20.

첫 번 째 줄 의 이 유 는 설정 파일 에 사용 되 었 기 때 문 입 니 다.대신다음 파일 수정:
코드:
 
  
vi /etc/php5/fpm/conf.d/ming.ini

\ # 를 변경 하기;됐다.
두 번 째 줄 의 이 유 는 / etc / phop 5 / fpm / pool. d / www. conf 설정 파일 에 있 는
코드:
;pm.start_servers = 20
앞 에 거 빼 기;됐다.
8. Discuz 배경 에서 URL 을 정적 으로 시작 하면 404 Not Found 의 해결 방법 을 알려 줍 니 다.
niginx 에서 Rewrite 를 열 고 서버 설정 파일 nignx. conf 에 다음 내용 을 기록 한 다음 nginx 를 다시 시작 합 니 다.
코드:
 
  
rewrite ^/archiver/((fid|tid)-[w-]+.html)$ /archiver/index.php?$1 last;
rewrite ^/forum-([0-9]+)-([0-9]+).html$ /forumdisplay.php?fid=$1&page=$2 last;
rewrite ^/thread-([0-9]+)-([0-9]+)-([0-9]+).html$ /viewthread.php?tid=$1&extra=page%3D$3&page=$2 last;
rewrite ^/space-(username|uid)-(.+).html$ /space.php?$1=$2 last;
rewrite ^/tag-(.+).html$ /tag.php?name=$1 last;
break;

다음 내용 은:http://www.vpsee.com/2011/04/some-nginx-rewrite-examples-for-subdirectories/테스트 하지 않 음.
Discuz! 7.2 하위 디 렉 터 리 / bbs 에 설치:
코드:
 
  
rewrite ^/bbs/archiver/((fid|tid)-[\w\-]+\.html)$ /bbs/archiver/index.php?$1 last;
rewrite ^/bbs/forum-([0-9]+)-([0-9]+)\.html$ /bbs/forumdisplay.php?fid=$1&page=$2 last;
rewrite ^/bbs/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /bbs/viewthread.php?tid=$1&extra=page%3D$3&page=$2 last;
rewrite ^/bbs/space-(username|uid)-(.+)\.html$ /bbs/space.php?$1=$2 last;
rewrite ^/bbs/tag-(.+)\.html$ /bbs/tag.php?name=$1 last;

Discuz! X1.5 하위 디 렉 터 리 / bbs 에 설치:
코드:
 
  
rewrite ^([^\.]*)/topic-(.+)\.html$ $1/portal.php?mod=topic&topic=$2 last;
rewrite ^([^\.]*)/article-([0-9]+)-([0-9]+)\.html$ $1/portal.php?mod=view&aid=$2&page=$3 last;
rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
rewrite ^([^\.]*)/([a-z]+)-(.+)\.html$ $1/$2.php?rewrite=$3 last;
if (!-e $request_filename) {
return 404;
}

좋은 웹페이지 즐겨찾기