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
mkdir -p /var/tmp/nginx/proxy/
mkdir -p /var/tmp/nginx /fcgi/
wget http://nginx.org/download/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
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;
}
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
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-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
を削除します。
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
?>
10。入力:http://php.jb51.net/tz.php
成功すれば、phpinfo()による情報出力を見ることができます
以上がCentOS環境にnginx、php、仮想ホストをデプロイする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

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

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

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

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

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

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

メモ帳++7.3.1
使いやすく無料のコードエディター

ホットトピック









