CentOS 환경에서 nginx, php 및 가상 호스트를 배포하는 방법
os 환경: centos 6.1
nginx: nginx-1.2.2
php:php5.3.14
0, 종속성 패키지 설치
코드 복사 코드는 다음과 같습니다.
yum install openssl-devel pcre-devel zlib-devel libjpeg-devel libpng-devel freetype-devel gcc make
1. nginx를 실행하려면 www 사용자를 추가하세요
코드 복사 코드는 다음과 같습니다.
useradd -m -r -s /sbin/nologin -d /opt/ web/ www
2. 임시 디렉터리 만들기
코드 복사 코드는 다음과 같습니다.
mkdir -p /var/tmp/nginx/client/
mkdir -p /var/tmp/nginx/proxy/
mkdir -p /var/tmp/nginx /fcgi/
3. nginx 소스 코드의 최신 안정 버전을 다운로드하세요
코드를 복사하세요. 코드는 다음과 같습니다:
cd /usr/local/src/
wget http://nginx.org/download/nginx-1.2.2.tar.gz
4. 압축을 풀고 컴파일하고 설치하세요
코드 복사 코드는 다음과 같습니다:
tar vxzf nginx-1.2.2.tar .gz
cd nginx-1.2.2/
./configure
--prefix= /opt/web/nginx
--error-log-path=/var/log/nginx/error.log
--pid-path =/var/run/nginx/nginx.pid
--lock-path=/ var/lock/nginx.lock
--user=www
--group=www
--with-http_ssl_module
--with-http_stub_status_module
--http_gzip_static_module
--http-log-path=/var/log /nginx/access.log
--http-client-body-temp-path=/var/tmp/nginx/client/
-- http-proxy-temp-path=/var/tmp/nginx/proxy/
- -http-fastcgi-temp-path=/var/tmp/nginx/fcgi/
--http-uwsgi-temp-path=/var /tmp/nginx/uwsgi/
make
make install
5. nginx 구성
코드 복사 코드는 다음과 같습니다.
vim /opt/web/nginx/conf/nginx.conf
# 시작을 지정합니다. user:
user www www;
# 프로세스 수, nginx 작성자는 방문 횟수에 따라 하나면 충분하다고 생각 수정
worker_processes 1;
# 오류 로그 설정:
#error_loglogs/error.log 통지;
#error_log 로그/error.log 정보;
error_log /var/log/nginx/error.default.log;
pid /opt /web/nginx/nginx.pid;
events {
epoll 사용;
worker_connections 1024;
}
http {
charset utf-8;
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"';
#access_loglogs/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
gzip_min_length 1000;
gzip_proxied any;
gzip_types text/plain text/css text/xml
application/x-javascript application /xml
application/atom+xml text/javascript;
server {
listen 80;
server_name localhost;
charset utf-8;
#access_loglogs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
#error_page 404 /404.html;
# 서버 오류 페이지를 정적 페이지로 리디렉션 /50x.html
#
error_page 500 502 503 504 /50x.html;
location = / 50x.html {
root html;
}
# PHP 스크립트를 127.0에서 수신하는 Apache로 프록시 .0.1:80
#
#location ~ .php$ {
# Proxy_pass http://127.0.0.1;
#}
# 127.0.0.1:9000
#
location을 수신하는 fastcgi 서버에 PHP 스크립트를 전달합니다 ~ . 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;
include fastcgi.conf;
}
# .htaccess에 대한 액세스 거부 파일, Apache의 문서 루트
#가 nginx의 문서 루트
#와 일치하는 경우
#
location ~ /.ht {
deny all;
}
}
# IP, 이름 및 포트 기반 구성을 혼합하여 사용하는 또 다른 가상 호스트
#
#서버 {
# 듣기 8000;
# 듣기 somename:8080;
# server_name somename 별칭 another.alias;
# 위치 / {
# 루트 html;
# index index.html index.htm;
# }
# }
# https 서버
#
#server {
# Listen 443;
# server_name localhost;
# SSL on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# 토콜 SSLV2 SSLV3 tlsv1;
# ssl_ciphers high:!anull:!md5;
# ssl_prefer_server_hers on ;
# location / {
# root html;
# index index.html index.htm;
# }
#}
proxy_read_timeout 200;
# 토네이도 서버에서 시간 초과
#가 아닌 통신 오류가 발생한 경우에만 재시도하세요("죽음의 쿼리"
#가 모든 프런트엔드에 전파되는 것을 피하기 위해)
proxy_next_upstream error;
proxy_set_header x-scheme $scheme;
proxy_set_header x-real -ip $remote_addr;
proxy_set_header 호스트 $host;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
# 가상 호스트 파일 소개
include /opt/web/nginx/conf/sites/*.conf;
6. 가상 머신 구성 파일이 저장된 디렉터리를 생성합니다
이 구성 후에 새 가상 호스트를 추가해야 하는 경우 nginx/conf/sites/ 디렉터리에 직접 구성 파일을 추가하세요.
예: 이제 도메인 이름이 www.jb51.net
Create: /opt/가 됩니다. web/nginx/conf/ sites/www.jb51.net.conf 파일
내용은 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.
server {
listen 80;
client_max_body_size 10m;
#여러 도메인 이름은 공백으로 구분되며 첫 번째는 기본값입니다.
server_name www.jb51.net jb51.net;
charset utf-8;
index index.html index.htm index.php;
# 루트 디렉터리 정의
set $root /var/webroot/www.jb51.net/;
# 사이트 경로 설정
root $root;
# 디렉토리 검색 방지
autoindex off;
if ($host != 'www.jb51.net' ) {
rewrite ^/(.*)$ //www.jb51.net/ $1 영구;
}
# .htaccess 파일이 요청되는 것을 방지
location ~ /.ht {
deny all;
}
error_page 404 / 404.html;
index index.html index.htm;
location /uploads/ {
별칭 /data/webroot/www.jb51.net/uploads/;
}
try_files $uri @uwsgi;
location @uwsgi{
# uwsgi
include uwsgi_params;
uwsgi_pass unix:/tmp/360ito_uwsgi .sock;
proxy_set_header x-real-ip $remote_addr;
proxy_set_header 호스트 $host;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded로 다른 요청 전달 _for;
#프록시_패스 http://localhost:5000;
}
# PHP 유형 요청 전달 fastcgi
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
# 액세스 로그:
access_log /var/log/nginx/access .www.jb51.net.log;
# .htaccess 다시 쓰기 파일을 로드합니다. 여기서는 변수 경로가 지원되지 않습니다
# include $로 쓸 수 없습니다. root/www.jb51.net/.htaccess;
# include /var/webroot/ www.jb51.net/.htaccess;
# 도메인 이름 점프를 활성화한 다음 액세스 오류가 발생하면 다른 도메인 이름이 자동으로 www로 점프합니다. .jb51.net
# 참고로 제가 여기서 말하는 것은 접속 오류가 발생한 경우에만 점프한다는 것이므로 여기서는 301 리디렉션을 구현할 수 없습니다!
server_name_in_redirect on;
}
7. 최신 버전의 PHP(php5.3.14)를 설치하세요.
코드를 복사하세요. 코드는 다음과 같습니다.
cd /usr/local/src/
wget http://cn .php.net/get /php-5.3.14.tar.bz2/from/this/mirror
tar xjvf php-5.3.14.tar.bz2
cd php-5.3.14
실행:
코드 복사 코드는 다음과 같습니다.
./buildconf --force
오류가 보고되면 autoconf가 버전 2.13이 아닐 수 있습니다. php5.3. 시리즈 버그의 경우 autoconf 버전 2.13을 설치해야 합니다.
debian: # apt-get install autoconf2.13
export php_autoconf="/usr/bin/autoconf-2.13"
# debian:
export php_autoconf="/usr/bin/autoconf2.13"
이 나오면 성공을 의미합니다.
php 컴파일 및 설치
--prefix=/opt/web/php
--with-config-file-path=/opt/web/php /etc
-- with-config-file-scan-dir=/opt/web/php/etc/conf.d
--enable-fpm
--with-fpm-user=www
--with-fpm- 그룹=www
- -with-mysql=/opt/db/percona-server-5.5.14-rel20.5
--with-mysqli=/opt/db/percona-server-5.5.14-rel20.5/ bin/mysql_config
- -iconv-dir
--freetype-dir
--with-jpeg-dir
--with-png-dir
--with-zlib
--with-libxml-dir
--enable-xml
--enable-mbstring
--with-gd
--enable-gd-native-ttf
--with-openssl
--enable-inline-optimization
make && make install
cp php.ini ini-production /opt /web/php/etc/php.ini
cd /opt/web/php/etc
cp php-fpm.conf.default php-fpm.conf
error_log = log/php-fpm.log
log_level = 공지
listen = 127.0.0.1:9000
listen. allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = Dynamic
pm. max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
env[호스트 이름] = $hostname
env[경로] = /usr/local/bin:/usr /bin:/bin
env[tmp] = / tmp
env[tmpdir] = /tmp
env[temp] = /tmp
/opt/web/php/sbin/php-fpmnginx 시작
?>
10. 브라우저 주소 표시줄에 http://php.jb51.net/tz.php를 입력하면 phpinfo()에 의해 출력된 정보를 볼 수 있습니다.
위 내용은 CentOS 환경에서 nginx, php 및 가상 호스트를 배포하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











CentOS에서 IP 주소를 구성하는 단계 : 현재 네트워크 구성보기 : IP Addr 네트워크 구성 파일 편집 : Sudo vi/etc/ifcfg-eths 스크립트/IFCFG-ETH-Scripts 변경 IP 주소 : iPaddr = 라인 변경 서브넷 마스크 및 게이트웨이 (옵션) (옵션) 네트워크 주소 : Su Systemctl CTL CTL CTLCTCTCTCTC TH SYSTEMCCTL

CentOS에서 HDFS 성능 향상 : CentOS에서 HDFS (Hadoop 분산 파일 시스템)를 최적화하기위한 포괄적 인 최적화 안내서에는 하드웨어, 시스템 구성 및 네트워크 설정에 대한 포괄적 인 고려가 필요합니다. 이 기사는 HDFS 성능을 향상시키는 데 도움이되는 일련의 최적화 전략을 제공합니다. 1. 하드웨어 업그레이드 및 선택 리소스 확장 : 서버의 CPU, 메모리 및 저장 용량을 최대한 많이 늘립니다. 고성능 하드웨어 : 고성능 네트워크 카드 및 스위치를 채택하여 네트워크 처리량을 개선합니다. 2. 시스템 구성 미세 조정 커널 매개 변수 조정 : TCP 연결 번호, 파일 핸들 번호 및 메모리 관리와 같은 커널 매개 변수를 최적화하기 위해 /etc/sysctl.conf 파일을 수정합니다. 예를 들어 TCP 연결 상태 및 버퍼 크기를 조정하십시오

PHP는 동적 웹 사이트를 구축하는 데 사용되며 해당 핵심 기능에는 다음이 포함됩니다. 1. 데이터베이스와 연결하여 동적 컨텐츠를 생성하고 웹 페이지를 실시간으로 생성합니다. 2. 사용자 상호 작용 및 양식 제출을 처리하고 입력을 확인하고 작업에 응답합니다. 3. 개인화 된 경험을 제공하기 위해 세션 및 사용자 인증을 관리합니다. 4. 성능을 최적화하고 모범 사례를 따라 웹 사이트 효율성 및 보안을 개선하십시오.

Centos와 Ubuntu의 주요 차이점은 다음과 같습니다. Origin (Centos는 Red Hat, Enterprise의 경우, Ubuntu는 Debian에서 시작하여 개인의 경우), 패키지 관리 (Centos는 안정성에 중점을 둡니다. Ubuntu는 APT를 사용하여 APT를 사용합니다), 지원주기 (Ubuntu는 5 년 동안 LTS 지원을 제공합니다), 커뮤니티에 중점을 둔다 (Centos Conciors on ubuntu). 튜토리얼 및 문서), 사용 (Centos는 서버에 편향되어 있으며 Ubuntu는 서버 및 데스크탑에 적합), 다른 차이점에는 설치 단순성 (Centos는 얇음)이 포함됩니다.

PHP는 MySQLI 및 PDO 확장 기능을 사용하여 데이터베이스 작업 및 서버 측 로직 프로세싱에서 상호 작용하고 세션 관리와 같은 기능을 통해 서버 측로 로직을 처리합니다. 1) MySQLI 또는 PDO를 사용하여 데이터베이스에 연결하고 SQL 쿼리를 실행하십시오. 2) 세션 관리 및 기타 기능을 통해 HTTP 요청 및 사용자 상태를 처리합니다. 3) 트랜잭션을 사용하여 데이터베이스 작업의 원자력을 보장하십시오. 4) SQL 주입 방지, 디버깅을 위해 예외 처리 및 폐쇄 연결을 사용하십시오. 5) 인덱싱 및 캐시를 통해 성능을 최적화하고, 읽을 수있는 코드를 작성하고, 오류 처리를 수행하십시오.

CentOS 종료 명령은 종료이며 구문은 종료 [옵션] 시간 [정보]입니다. 옵션은 다음과 같습니다. -H 시스템 중지 즉시 옵션; -P 종료 후 전원을 끕니다. -R 다시 시작; -대기 시간. 시간은 즉시 (현재), 분 (분) 또는 특정 시간 (HH : MM)으로 지정할 수 있습니다. 추가 정보는 시스템 메시지에 표시 될 수 있습니다.

PHP와 Python은 고유 한 장점과 단점이 있으며 선택은 프로젝트 요구와 개인 선호도에 달려 있습니다. 1.PHP는 대규모 웹 애플리케이션의 빠른 개발 및 유지 보수에 적합합니다. 2. Python은 데이터 과학 및 기계 학습 분야를 지배합니다.

CentOS 플랫폼 HADOOP 분산 파일 시스템 (HDFS) 성능 최적화 안내서 HDFS 성능 최적화는다면 문제이며 특정 상황에 대해 여러 매개 변수를 조정해야합니다. 다음은 몇 가지 주요 최적화 전략입니다. 1. 메모리 관리는 Namenode 및 Datanode 메모리 구성을 조정합니다. HADOOP_NAMENODE_OPTS 및 HADOOP_DATANODE_OPTS 환경 변수를 합리적으로 구성하여 서버의 실제 메모리 크기에 따라 메모리 활용을 최적화합니다. 큰 페이지 메모리 활성화 : 높은 메모리 소비 애플리케이션 (예 : HDF)의 경우 큰 페이지 메모리를 활성화하면 메모리 페이지 할당 및 관리 오버 헤드가 줄어들고 효율성을 향상시킬 수 있습니다. 2. 디스크 I/O 최적화는 고속 스토리지를 사용합니다
