検索
ホームページ運用・保守NginxCentOS環境に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. 解凍し、コンパイルし、 install


コードをコピーします。コードは次のとおりです。

tar vxzf nginx-1.2.2.tar.gz

cd nginx-1.2.2/
./ \
--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 作成者は 1 つで十分だと考えています。
worker_processes 1;
# を変更します。 エラー ログ:
#error_log を設定します。 logs/error.log 通知;
#error_log logs/error.log 情報;
error_log /var/log/nginx/ error.default.log;
pid /opt/web/nginx/nginx.pid ;
events {
use 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_log logs/access.log main;
sendfile on;
tcp_nopush on;
tcp_nolay 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_log ログ /host.access.log main;
location / {
root html;
indexindex.htmlindex.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
# でリッスンする Apache に PHP スクリプトをプロキシします
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# 127.0.0.1:9000
でリッスンしている fastcgi サーバーに php スクリプトを渡します
#location ~ \.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;
}
# Apache のドキュメント ルート
# が nginx の 1 つの

# 場所 ~ /\ と一致する場合、.htaccess ファイルへのアクセスを拒否します。 ht {
すべて拒否;
}
}
# IP、名前、およびポートベースの構成を組み合わせて使用​​する別の仮想ホスト

server {
# listen 8000;
# listen somename:8080;
# server_name somename エイリアス another.alias;
# location / {
# root html;
#indexindex.htmlindex.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 ;
# location / {
# root html;
#indexindex.htmlindex.htm;
# }
#}
proxy_read_timeout 200;
# の場合のみ再試行しますTornado サーバーでタイムアウトではなく通信エラーが発生しました
# (すべてのフロントエンドへの「死のクエリ」
# の伝播を避けるため)
proxy_next_upstream エラー;
proxy_set_header x-scheme $scheme;
proxy_set_header x-real-ip $remote_addr;
proxy_set_header host $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 ドメイン名が作成されました
作成: /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;
indexindex.htmlindex.htmindex.php;
#ルートディレクトリを定義します
set$root/var/webroot/www.jb51.net/;
# サイト パスを設定します
root $root;
# ディレクトリの参照を防止します
autoindex off;
if ($host != 'www.jb51.net') {
rewrite ^ /(.*)$ //www.jb51.net/$1 Permanent;
}
# .htaccess ファイルが要求されないようにします
location ~ /\.ht {
deny all;
}
error_page 404 /404.html;
indexindex.htmlindex.htm;
location/uploads/ {
alias /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 $host;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
#proxy_pass http://localhost:5000;
}
# php タイプのリクエストを fastcgi
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_indexindex.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

if エラーが報告された場合は、autoconf がバージョン 2.13 ではない可能性があります。php5.3 シリーズのバグについては、autoconf バージョン 2.13 をインストールする必要があります:


コードをコピーします。 コードは次のとおりです。

centos: # yum install autoconf213

debian: # apt-get install autoconf2.13

Set 環境変数


コードをコピーします コードは次のとおりです:

# centos:

export php_autoconf="/usr/bin/autoconf-2.13"
# debian:
export php_autoconf="/usr/ bin/autoconf2.13"

./buildconf - -force を再度実行します。buildconf: autoconf version 2.13 (ok)

が表示されれば成功です。
php をコンパイルしてインストールします

コードをコピーしますコードは次のとおりです:

./configure \

--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-group=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 \
--with-iconv-dir \
- -with-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-production /opt/web/php/etc/php.ini
cd /opt/web/ php/etc
cp php-fpm.conf.default php-fpm.conf

php-fpm.conf を変更して次の行を有効にします。つまり、前のセミコロン (;)

を削除します。

コードをコピーします。 コードは次のとおりです。

pid = run/php-fpm.pid

error_log = log/php-fpm.log
log_level = Notice
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
グループ = www
pm = 動的
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

8. php-fpm


コードをコピーしますコードは次のとおりです:

/opt/ web/php/sbin/php-fpm

Start nginx


コードをコピーしますコードは次のとおりです:

/opt/web/nginx/sbin/nginx

9. テストします


コードをコピーします コードは次のとおりです:

vim /var/webroot/www.jb51.net/tz.php

入力して保存します


コードをコピーしますコードは次のとおりです:

phpinfo();
?>

10。入力:http://php.jb51.net/tz.php
成功すれば、phpinfo()による情報出力を見ることができます

以上がCentOS環境にnginx、php、仮想ホストをデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Nginxユニット:主要な機能と機能Nginxユニット:主要な機能と機能Apr 25, 2025 am 12:17 AM

Nginxunitは、複数のプログラミング言語をサポートし、動的構成、ゼロダウンタイム更新、組み込みのロードバランシングなどの機能を提供するオープンソースアプリケーションサーバーです。 1。動的構成:再起動せずに構成を変更できます。 2。多言語サポート:Python、Go、Java、PHPなどと互換性があります。 4。ビルトインロードバランシング:リクエストは、複数のアプリケーションインスタンスに配布できます。

Nginxユニットvs他のアプリケーションサーバーNginxユニットvs他のアプリケーションサーバーApr 24, 2025 am 12:14 AM

nginxunitは、多言語プロジェクトや動的な構成要件に適した、apachetomcat、gunicorn、node.jsビルトインHTTPサーバーよりも優れています。 1)複数のプログラミング言語をサポートします。2)動的な構成リロード、3)高いスケーラビリティと信頼性を必要とするプロジェクトに適した組み込みの負荷分散機能を提供します。

Nginxユニット:アーキテクチャとその仕組みNginxユニット:アーキテクチャとその仕組みApr 23, 2025 am 12:18 AM

Nginxunitは、モジュラーアーキテクチャと動的な再構成機能により、アプリケーションのパフォーマンスと管理性を向上させます。 1)モジュラー設計には、マスタープロセス、ルーター、アプリケーションプロセスが含まれ、効率的な管理と拡張をサポートします。 2)動的再構成により、CI/CD環境に適した、実行時に構成をシームレスに更新できます。 3)多言語サポートは、言語ランタイムの動的なロードを通じて実装され、開発の柔軟性が向上します。 4)イベント駆動型モデルと非同期I/Oによって高性能が達成され、高い並行性の下でも効率的なままです。 5)申請プロセスを分離し、アプリケーション間の相互の影響を減らすことにより、セキュリティが改善されます。

Nginxユニットの使用:アプリケーションの展開と管理Nginxユニットの使用:アプリケーションの展開と管理Apr 22, 2025 am 12:06 AM

nginxunitを使用して、アプリケーションを複数の言語で展開および管理できます。 1)nginxunitをインストールします。 2)PythonやPHPなどのさまざまなタイプのアプリケーションを実行するように構成します。 3)アプリケーション管理に動的構成関数を使用します。これらの手順を通じて、アプリケーションを効率的に展開および管理し、プロジェクトの効率を向上させることができます。

Nginx vs. Apache:Webサーバーの比較分析Nginx vs. Apache:Webサーバーの比較分析Apr 21, 2025 am 12:08 AM

NGINXは、高い並行接続の処理に適していますが、Apacheは複雑な構成とモジュール拡張が必要な​​シナリオにより適しています。 1.Nginxは、高性能と低リソース消費で知られており、高い並行性に適しています。 2. Apacheは、その安定性とリッチモジュール拡張機能で知られています。これは、複雑な構成ニーズに適しています。

Nginxユニットの利点:柔軟性とパフォーマンスNginxユニットの利点:柔軟性とパフォーマンスApr 20, 2025 am 12:07 AM

Nginxunitは、動的な構成と高性能アーキテクチャにより、アプリケーションの柔軟性とパフォーマンスを向上させます。 1.動的構成により、サーバーを再起動せずにアプリケーション構成を調整できます。 2.高性能は、イベント駆動型および非ブロッキングアーキテクチャおよびマルチプロセスモデルに反映され、同時接続を効率的に処理し、マルチコアCPUを利用できます。

Nginx vs. Apache:パフォーマンス、スケーラビリティ、効率Nginx vs. Apache:パフォーマンス、スケーラビリティ、効率Apr 19, 2025 am 12:05 AM

NginxとApacheはどちらも強力なWebサーバーであり、それぞれがパフォーマンス、スケーラビリティ、効率の点で独自の利点と短所を備えています。 1)nginxは、静的なコンテンツを処理し、逆プロキシを逆にするときにうまく機能します。 2)Apacheは、動的コンテンツを処理するときにパフォーマンスが向上し、リッチモジュールサポートが必要なプロジェクトに適しています。サーバーの選択は、プロジェクトの要件とシナリオに基づいて決定する必要があります。

究極の対決:Nginx vs. Apache究極の対決:Nginx vs. ApacheApr 18, 2025 am 12:02 AM

Nginxは、高い並行リクエストの処理に適していますが、Apacheは複雑な構成と機能的拡張が必要な​​シナリオに適しています。 1.Nginxは、イベント駆動型の非ブロッキングアーキテクチャを採用しており、高電流環境に適しています。 2。Apacheはプロセスまたはスレッドモデルを採用して、複雑な構成のニーズに適したリッチモジュールエコシステムを提供します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター