來寫一下,怎么安裝一個nginx網(wǎng)上面經(jīng)常有說nginx比httpd屌之類的話带猴。就來比較一下把吼畏。
不過他們兩個經(jīng)常配合使用督赤。就是兩個同時都要會用。nginx反向代理宫仗。
性能和耗費,nginx屌
功能強旁仿,穩(wěn)定藕夫,httpd屌
和PHP結(jié)合。httpd絕配枯冈。
wget http://nginx.org/download/nginx-1.11.4.tar.gz //下載wget?
tar zxvf nginx-1.11.4.tar.gz
cd nginx-1.11.4
./configure --prefix=/usr/local/nginx
make && make install
useradd hehe -M -s /sbin/nologin //創(chuàng)建用戶 hehe
//-M 不創(chuàng)建home目錄
//-s /sbin/nologin 不給登陸
php和nginx并不認識的毅贮。不想httpd把php吃進肚子(變成自己的一個模塊)
還缺一個fpm,就當作他們溝通的橋梁。加上這個--enable-fpm
make clean
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd/bin/apxs --enable-mysqlnd --with-pdo-mysql=mysqlnd --enable-fpm
make && make install
完成上面的以后尘奏,/usr/local/php/sbin里面會有一個php-fpm
的文件滩褥。
下面還有些配置文件要完成php-fpm.conf.default和www.conf.default的模版,復制出來做配置文件
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
cd /usr/local/php/etc //去到有php-fpm.conf的配置目錄
vim php-fpm.conf //編輯炫加,把下面的 ; 去了 分號去掉
pid = run/php-fpm.pid
error_log = log/php-fpm.log
log_level = notice
daemonize = yes
cd /usr/local/php/etc/php-fpm.d //去到有www.conf的配置目錄
vim www.conf //編輯 瑰煎,把里面改一些東西,你的用戶和組俗孝,改你添加的
?
user = hehe
group = hehe
listen = 127.0.0.1:9000
保存退出來之后酒甸,還要啟動php-fpm.
/usr/local/php/sbin/php-fpm //開啟php-fpm
ps -ef | grep -fpm //看一下進程
完成上面的步驟,下面就是到nginx赋铝。
cd /usr/local/nginx/conf
vim nginx.conf
user hehe; //添加一個用戶吧插勤,最好不是root,我的是hehe
worker_processes //默認1個革骨,cpu核數(shù)的1-2倍
pid logs/nginx.pid; //這個把#號去了农尖。
server {
listen 8777; //這個是我搞的8777端口
server_name localhost; //域名的地方,沒有就localhost
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /web; //你網(wǎng)站的根目錄
index index.html index.htm index.php;
}
location ~ .*.php$ {
root /web; //這個是我自己根目錄路徑
fastcgi_pass 127.0.0.1:9000; //你自己的域名,后面一般跟著:9000
include /usr/local/nginx/conf/fastcgi_params; //看這個fastcgi_params良哲,下面有參數(shù)
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
fastcgi_params文件的參數(shù)盛卡,用到的時候回來看看
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#腳本文件請求的路徑
fastcgi_param QUERY_STRING $query_string; #請求的參數(shù);如?app=123
fastcgi_param REQUEST_METHOD $request_method; #請求的動作(GET,POST)
fastcgi_param CONTENT_TYPE $content_type; #請求頭中的Content-Type字段
fastcgi_param CONTENT_LENGTH $content_length; #請求頭中的Content-length字段。
fastcgi_param SCRIPT_NAME $fastcgi_script_name; #腳本名稱
fastcgi_param REQUEST_URI $request_uri; #請求的地址不帶參數(shù)
fastcgi_param DOCUMENT_URI $document_uri; #與$uri相同筑凫。
fastcgi_param DOCUMENT_ROOT $document_root; #網(wǎng)站的根目錄窟扑。在server配置中root指令中指定的值
fastcgi_param SERVER_PROTOCOL $server_protocol; #請求使用的協(xié)議,通常是HTTP/1.0或HTTP/1.1漏健。
fastcgi_param GATEWAY_INTERFACE CGI/1.1;#cgi 版本
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;#nginx 版本號嚎货,可修改、隱藏
fastcgi_param REMOTE_ADDR $remote_addr; #客戶端IP
fastcgi_param REMOTE_PORT $remote_port; #客戶端端口
fastcgi_param SERVER_ADDR $server_addr; #服務器IP地址
fastcgi_param SERVER_PORT $server_port; #服務器端口
fastcgi_param SERVER_NAME $server_name; #服務器名蔫浆,域名在server配置中指定的server_name
#fastcgi_param PATH_INFO $path_info;#可自定義變量
# PHP only, required if PHP was built with --enable-force-cgi-redirect
#fastcgi_param REDIRECT_STATUS 200;
在php可打印出上面的服務環(huán)境變量
如:echo $_SERVER['REMOTE_ADDR']
最后一步啟動nginx //可以./nginx -h看幫助殖属,一堆英文
/usr/local/nginx/sbin/nginx //開啟
pkill nginx //關閉,直接殺進程,雖然不建議瓦盛。
/usr/local/nginx/sbin/nginx -s reload //重啟
ps -ef | grep nginx //自己去看進程吧洗显。
自己phpinfo去瀏覽器看看吧外潜。額~我用的是8777端口還有nginx很多很多參數(shù),百度就可以找到了挠唆。多百度处窥,谷歌