Ubuntu에 Naginx, PHP5(및 PHP-FPM), MySQL 설치
1. 설치 전에 간단한 설명
내가 사용하는 도메인 이름은 example입니다.com,ip주소는 218.198.177.252입니다.너는 구체적인 상황을 보고 이 설정들을 변경할 수 있다.다음 글에서 루트 권한으로 필요한 소프트웨어를 설치할 것입니다. 따라서 루트 사용자로 전환하십시오: sudo su
2: MySQL 설치
apt-get install mysql-server mysql-client
MySQL 루트 사용자에게 암호를 입력하라는 메시지가 표시됩니다. - 이 암호는root@localhost사용 가능[email protected]또한 사용할 수 있습니다. 따라서 MySQL 루트 사용자에게 수동으로 비밀번호를 지정해야 합니다. New password for the MySQL "root"user: < - yourrootsqlpassword Repeat password for the MySQL "root"user: < - yourrootsqlpassword
3: Nginx 설치
apt-get install nginx
1, nginx/etc/init. 시작d/nginx start
2, 브라우저 입력 열기http://127.0.0.1, Welcome to nginx를 보면,설치가 성공했다는 뜻입니다. ubuntu 12.0.4 LTS에서nginx의 기본 사이트 루트 디렉터리는/usr/share/nginx/www에 있습니다.
4: PHP5 설치
PHP5는nginx에서 PHP-FPM(PHP-FPM(FastCGI Process Manager)을 통해 선택할 수 있는FastCGI로 매우 유용한 특성을 추가하였으며, 특히 바쁜 사이트에서는 유용한 기능을 추가하였다.설명: Nginx는 외부 프로그램에 대한 직접 호출이나 해석을 지원하지 않으며, 모든 외부 프로그램(PHP 포함)은FastCGI 인터페이스를 통해 호출해야 합니다.
apt-get install php5-fpm
PHP-FPM은 수호 프로세스입니다. (init 스크립트 파일은/etc/init.d/php5-fpm) 이것은FastCGI 서버를 실행하고 포트는 9000입니다.
5:nginx를 설정합니다. 다음은 제 컴퓨터의 프로필입니다.
1,nginx의 프로필은/etc/nginx/nginx에 있습니다.conf, vim/etc/nginx/nginx.conf는 다음과 같습니다.
user www-data; // Nginx Worker
<!-- lang: php -->
worker_processes 4; / / Nginx , Nginx 10M-20M 。
<!-- lang: php -->
pid /var/run/nginx.pid; // id
<!-- lang: php -->
<!-- lang: php -->
events { // Nginx ,
<!-- lang: php -->
use epoll;
<!-- lang: php -->
worker_connections 768;
<!-- lang: php -->
# multi_accept on;
<!-- lang: php -->
}
<!-- lang: php -->
<!-- lang: php -->
http {
<!-- lang: php -->
<!-- lang: php -->
##
<!-- lang: php -->
# Basic Settings //
<!-- lang: php -->
##
<!-- lang: php -->
<!-- lang: php -->
sendfile on;
<!-- lang: php -->
tcp_nopush on;
<!-- lang: php -->
tcp_nodelay on;
<!-- lang: php -->
keepalive_timeout 65;
<!-- lang: php -->
types_hash_max_size 2048;
<!-- lang: php -->
# server_tokens off;
<!-- lang: php -->
<!-- lang: php -->
# server_names_hash_bucket_size 64;
<!-- lang: php -->
# server_name_in_redirect off;
<!-- lang: php -->
<!-- lang: php -->
include /etc/nginx/mime.types;
<!-- lang: php -->
default_type application/octet-stream;
<!-- lang: php -->
<!-- lang: php -->
##
<!-- lang: php -->
# Logging Settings //
<!-- lang: php -->
##
<!-- lang: php -->
<!-- lang: php -->
access_log /var/log/nginx/access.log;
<!-- lang: php -->
error_log /var/log/nginx/error.log;
<!-- lang: php -->
<!-- lang: php -->
##
<!-- lang: php -->
# Gzip Settings // Gzip
<!-- lang: php -->
##
<!-- lang: php -->
<!-- lang: php -->
gzip on;
<!-- lang: php -->
gzip_disable "msie6";
<!-- lang: php -->
<!-- lang: php -->
gzip_vary on;
<!-- lang: php -->
gzip_proxied any;
<!-- lang: php -->
gzip_comp_level 6;
<!-- lang: php -->
gzip_buffers 16 8k;
<!-- lang: php -->
gzip_http_version 1.1;
<!-- lang: php -->
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
<!-- lang: php -->
<!-- lang: php -->
##
<!-- lang: php -->
# nginx-naxsi config
<!-- lang: php -->
##
<!-- lang: php -->
# Uncomment it if you installed nginx-naxsi
<!-- lang: php -->
##
<!-- lang: php -->
<!-- lang: php -->
#include /etc/nginx/naxsi_core.rules;
<!-- lang: php -->
<!-- lang: php -->
##
<!-- lang: php -->
# nginx-passenger config
<!-- lang: php -->
##
<!-- lang: php -->
# Uncomment it if you installed nginx-passenger
<!-- lang: php -->
##
<!-- lang: php -->
<!-- lang: php -->
#passenger_root /usr;
<!-- lang: php -->
#passenger_ruby /usr/bin/ruby;
<!-- lang: php -->
<!-- lang: php -->
##
<!-- lang: php -->
# Virtual Host Configs //
<!-- lang: php -->
##
<!-- lang: php -->
<!-- lang: php -->
include /etc/nginx/conf.d/*.conf;
<!-- lang: php -->
include /etc/nginx/sites-enabled/*;
<!-- lang: php -->
<!-- lang: php -->
<!-- lang: php -->
}
<!-- lang: php -->
#mail {
<!-- lang: php -->
# # See sample authentication script at:
<!-- lang: php -->
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
<!-- lang: php -->
#
<!-- lang: php -->
# # auth_http localhost/auth.php;
<!-- lang: php -->
# # pop3_capabilities "TOP" "USER";
<!-- lang: php -->
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
<!-- lang: php -->
#
<!-- lang: php -->
# server {
<!-- lang: php -->
# listen localhost:110;
<!-- lang: php -->
# protocol pop3;
<!-- lang: php -->
# proxy on;
<!-- lang: php -->
# }
<!-- lang: php -->
#
<!-- lang: php -->
# server {
<!-- lang: php -->
# listen localhost:143;
<!-- lang: php -->
# protocol imap;
<!-- lang: php -->
# proxy on;
<!-- lang: php -->
# }
<!-- lang: php -->
#}
<!-- lang: php -->
2, 가상 호스트는 서버 {}에 정의되고 기본 파일은/etc/nginx/sites-available/default,vim/etc/nginx/sites-available/default에 있습니다.
server {
listen 80; ## listen for ipv4; this line is default and implied
listen [::]:80 default ipv6only=on; ## listen for ipv6
root /usr/share/nginx/www;
index index.php index.html index.htm;
# Make site accessible from http://localhost/
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to index.html
try_files $uri $uri/ /index.html;
}
location /doc {
root /usr/share;
autoindex on;
allow 127.0.0.1;
deny all;
}
location /images {
root /usr/share;
autoindex off;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
3, 구성 적용/etc/init.d/nginx reload
4, Nginx의 기본 웹 사이트 루트 디렉터리에 PHP 테스트 파일vim/usr/share/nginx/www/info를 만듭니다.php
phpinfo(); ?>
5, 브라우저 입력 열기http://127.0.0.1/info.php
PHP5가 FPM/FastCGI를 통해 일하고 있는 것을 볼 수 있습니다. 구체적으로는 서버 API 줄을 보십시오.아래로 스크롤하면 모든 모듈이 PHP5에서 사용할 수 있음을 알 수 있습니다. MySQL이 열거되지 않은 것은 MySQL이 PHP5를 지원하지 않았다는 것을 의미합니다.
6: MySQL에서 PHP5 지원
1, MySQL에서 PHP5를 지원하고 php5-mysql 패키지를 설치할 수 있습니다.나머지 가방은 필요에 따라 설치할 수 있습니다. apt-cache search php5로 PHP 가방을 열거해 보세요. 그게 당신이 필요로 하는 가방입니다.
2, 필요한 패키지를 선택하여 이렇게 설치: apt-get install php5-mysql php5-curl ph5-gd php5-intl php-pear ph5-imagick ph5-imap ph5-mcrypt php5-memcache php5-ming php5-psp5-pspell php5-pspell php5-recode php5-snmp php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
3, PHP-FPM/etc/init. 재부팅d/php5-fpm restart
4, 브라우저 열기, 입력http://127.0.0.1/info.php, 당신이 설치한 가방이 이미 지원되었는지 확인하세요.
7: PHP-FPM 구성
vim/etc/php5/fpm/php-fpm.conf 또는vim/etc/php5/fpm/conf.d/에서 더 자세한 설정을 하거나 실제 사람의 기본값을 모르면 되고 최적화되지 않습니다.
8:/etc/nginx/sites-available/default에 가상 호스트를 추가합니다.
내 프로파일:
server {
listen 80 ; ## listen for ipv4; this line is default and implied
listen [::]:80 default ipv6only=on; ## listen for ipv6
root /web/example;
index index.php index.html index.htm;
# Make site accessible from http://localhost/
server_name 218.198.177.252 example.com ; // apache ,
location / {
# First attempt to serve request as file, then
# as directory, then fall back to index.html
try_files $uri $uri/ /index.html;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
location /doc/ {
alias /usr/share/doc/;
autoindex on;
allow 127.0.0.1;
deny all;
}
# Only for nginx-naxsi : process denied requests
#location /RequestDenied {
# For example, return an error code
#return 418;
#}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
#error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /web/example;
}
location ~ .php${//nginx는 정적 페이지를 처리하고FastCGI로 동적으로 전달
# fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
# fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
효과를 봐라, 만약 네가 성공하지 못한다면, 스스로 검사해 봐라...
참고 자료: 1,http://www.howtoforge.com/installing-nginx-with-php5-and-php-fpm-and-mysql-support-on-ubuntu-11.10 2,http://www.howtoforge.com/installing-nginx-with-php5-and-php-fpm-and-mysql-support-on-ubuntu-11.10-p23, "실전 Nginx: Apache를 대체하는 고성능 웹 서버"
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.