CentOS 환경에서 nginx, php 및 가상 호스트 구성을 배포하는 방법
배포 시간: 2012-07-24
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
--with-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 www www;
# nginx 작성자가 믿는 프로세스 수 단 하나, 자신의 트래픽에 따라 수정하세요.
worker_processes 1;
# 오류 로그 설정:
#error_log 로그/error.log 공지;
#error_log 로그/error.log 정보;
error_log /var/log/nginx/error .default.log;
pid /opt/web/nginx/nginx.pid;
이벤트 {
사용 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 임의;
gzip_ 유형 텍스트/일반 텍스트/css 텍스트 /xml
application/x-javascript 애플리케이션/xml
application/atom+xml 텍스트/javascript;
서버 {
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;
}
# 프록시 127.0.0.1:80
#
#location ~ .php$ {
# Proxy_pass http:/ /127.0.0.1;
#}
#에서 수신하는 Apache에 대한 PHP 스크립트는 127.0.0.1에서 수신하는 fastcgi 서버에 PHP 스크립트를 전달합니다. :9000
#
위치 ~ .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;
}
# 아파치의 문서 루트
#가 nginx의 문서 루트
#
location과 일치하는 경우 .htaccess 파일에 대한 액세스를 거부합니다. ~ /.ht {
deny all;
}
}
# ip-, name-을 혼합하여 사용하는 또 다른 가상 호스트 및 포트 기반 구성
#
#server {
# Listen 8000;
# Listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root 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;
# ssl_protocols sslv2 sslv3 tlsv1;
# ssl_ciphers high:!anull :!md5;
# ssl_prefer_server_ciphers on;
# 위치 / {
# 루트 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. 가상 머신 구성 파일이 저장되는 디렉터리를 만듭니다
코드를 복사합니다. 코드는 다음과 같습니다.
mkdir / opt/web/nginx/conf/sites
이 구성 후에 새 가상 호스트를 추가해야 하는 경우 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 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

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

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

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

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

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

뜨거운 주제











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

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

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

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

Centos는 2024 년에 상류 분포 인 RHEL 8이 종료 되었기 때문에 폐쇄 될 것입니다. 이 종료는 CentOS 8 시스템에 영향을 미쳐 업데이트를 계속받지 못하게합니다. 사용자는 마이그레이션을 계획해야하며 시스템을 안전하고 안정적으로 유지하기 위해 Centos Stream, Almalinux 및 Rocky Linux가 포함됩니다.

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

PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

단계를 따르면 Docker 컨테이너 이름을 쿼리 할 수 있습니다. 모든 컨테이너 (Docker PS)를 나열하십시오. 컨테이너 목록을 필터링합니다 (GREP 명령 사용). 컨테이너 이름 ( "이름"열에 위치)을 가져옵니다.
