澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

澳门新浦京娱乐场网站nginx基本使用系列,配置分

1:安装需求的库

透过源码安装nginx

今天来做一下 nginx 的享用

Bash

更新软件源

sudo apt-get update && sudo apt-get upgrade

首先是编译必要的豆蔻梢头部分东西

yum install gc gcc gcc-c   pcre-devel zlib-devel openssl-devel

设置信赖包

sudo apt-get install libpcre3 libpcre3-dev zlib1g-dev libssl-dev build-essential

gcc-c

 

下载nginx源码包并编写翻译安装

wget  http://nginx.org/download/nginx-1.8.0.tar.gz
sudo tar -zxvf nginx-1.8.0.tar.gz -C /usr/local/src/
cd /usr/local/src/nginx-1.8.0
sudo ./configure --prefix=/usr/local/nginx
sudo make && sudo make install

通过源码安装,nginx全数的原委都被设置在/usr/local/nginx文件夹下,nginx全数的构造文件都在conf文件夹里;nginx的开发银行脚本在sbin目录下.

澳门新浦京娱乐场网站,libtool

2:创制Nginx客户和组

nginx源码常用编写翻译选项

nginx大部分常用模块,编写翻译时./configure --help以--without领头的都暗中同意安装.

  • --prefix=PATH : 钦定nginx的装置目录。私下认可 /usr/local/nginx
  • --conf-path=PATH : 设置nginx.conf配置文件的路子。nginx允许选择分歧的布署文件运转,通过命令行中的-c选项。默以为prefix/conf/nginx.conf
  • --user=name: 设置nginx专门的学业进度的客户。安装到位后,能够随即在nginx.conf配置文件修改user指令。默许的顾客名是nobody。--group=name近似
  • --with-pcre : 设置PCRE库的源码路线,假诺已经过yum格局安装,使用--with-pcre自动找到库文件。使用--with-pcre=PATH时,要求从PCRE网址下载pcre库的源码(版本4.4 - 8.30)并解压,剩下的就交给Nginx的./configure和make来实现。perl正则表明式使用在location指令和 ngx_http_rewrite_module模块中。
  • --with-zlib=PATH : 内定 zlib(版本1.1.3 - 1.2.5)的源码解压目录。在暗中认可就启用的互联网传输压缩模块ngx_http_澳门新浦京娱乐场网站nginx基本使用系列,配置分享。gzip_module时必要利用zlib 。
  • --with-http_ssl_module : 使用https合同模块。默许意况下,该模块未有被构建。前提是openssl与openssl-devel已设置
  • --with-http_stub_status_module : 用来监督 Nginx 的当前情景
  • --with-http_realip_module : 通过那么些模块允许我们转移客户端央浼头中型地铁户端IP地址值(比方X-Real-IP 或 X-Forwarded-For卡塔尔国,意义在于能够使得后台服务器记录原始客商端的IP地址
  • --add-module=PATH : 加多第三方外界模块,如nginx-sticky-module-ng或缓存模块。每一趟加多新的模块都要重新编写翻译(Tengine能够在新加入module时无需重新编译)
    澳门新浦京娱乐场网站nginx基本使用系列,配置分享。暗许的提供意气风发种编写翻译方案
./configure 
 --prefix=/usr 
 --sbin-path=/usr/sbin/nginx 
 --conf-path=/etc/nginx/nginx.conf 
 --error-log-path=/var/log/nginx/error.log 
 --http-log-path=/var/log/nginx/access.log 
 --pid-path=/var/run/nginx/nginx.pid  
 --lock-path=/var/lock/nginx.lock    
 --user=nginx 
 --group=nginx 
 --with-http_ssl_module 
 --with-http_stub_status_module 
 --with-http_gzip_static_module 
 --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 
 --with-pcre=../pcre-7.8
 --with-zlib=../zlib-1.2.3

gzip 模块必要 zlib 库

Bash

nginx运行命令

#检查配置文件是否正确
sudo /usr/local/nginx/sbin/nginx -t
#查看编译选项
sudo /usr/local/nginx/sbin/nginx -V
#启动
sudo /usr/local/nginx/sbin/nginx 
#关闭
sudo /usr/local/nginx/sbin/nginx -s stop
#重启,不会改变启动时制定的配置文件
sudo /usr/local/nginx/sbin/nginx -s reload

rewrite 模块须求 pcre 库

groupadd www
#创建一个用户,不允许登陆和不创主目录 
useradd -s /sbin/nologin -g www -M www

经过Ubuntu软件包微处理器安装

sudo apt-get install nginx

透过Ubuntu软件包微型机安装nginx,配置文件在/etc/nginx 目录下;自运维脚本在/etc/init.d/nginx.
参照小说:
www.linuxidc.com/Linux/2015-05/117654.htm
https://segmentfault.com/a/1190000002797601

ssl 功效须要 openssl 库

 

安装正视

3:下载并解压Nginx

直白用 yum 安装就能够了,不用自身编译,节省数不胜数时刻

Bash

上边注重,依据真实意况要好安装供给的

wget http://nginx.org/download/nginx-1.12.0.tar.gz
tar -xzvf nginx-1.12.0
cd nginx-1.12.0
yum -y install gcc gcc-c   make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel

 

然后编写翻译安装

4:配置并编写翻译安装

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module makemake install

Bash

权力相当不足的话本人想艺术。。sudo 一下

--prefix=PATH: 钦定nginx的安装目录。暗中同意 /usr/local/nginx

--conf-path=PATH: 设置nginx.conf配置文件的门径。nginx允许行使不一样的计划文件运行,通过命令行中的-c选项。默以为prefix/conf/nginx.conf

--user=name: 设置nginx专门的学业历程的客户。安装到位后,能够任何时候在nginx.conf配置文件修正user指令。默许的顾客名是nobody。--group=name相通

--with-http_ssl_module: 使用https公约模块。暗许情形下,该模块未有被创设。前提是openssl与openssl-devel已安装

--with-http_stub_status_module: 用来监督 Nginx 的一时事态

--with-http_gzip_static_module: 是针对 nginx serve 的静态文件,必要编写翻译进去技术有

--with-http_realip_module: 通过那几个模块允许大家改进客商端诉求头中顾客端IP地址值(比如X-Real-IP 或 X-Forwarded-For卡塔尔(英语:State of Qatar),意义在于能够使得后台服务器记录原始客商端的IP地址

--with-pcre:

安装PCRE库的源码路线,假设已通过yum情势安装,使用--with-pcre自动找到库文件。使用--with-pcre=PATH时,需求从PCRE网址下载pcre库的源码(版本4.4

8.30)并解压,剩下的就交由Nginx的./configure和make来造成。perl正则表明式使用在location指令和 ngx_http_rewrite_module模块中。

--with-zlib=PATH: 钦命 zlib(版本1.1.3 - 1.2.5)的源码解压目录。在暗中同意就启用的网络传输压缩模块ngx_http_gzip_module时须要使用zlib 。

--add-module=PATH: 加多第三方外界模块,如nginx-sticky-module-ng或缓存模块。每一回增添新的模块都要再度编写翻译(Tengine能够在新加盟module时不需求重新编写翻译)

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module
make && make install

开行关闭 nginx 等常用操作

参数表达:

# 检查配置文件是否正确/usr/local/nginx/sbin/nginx -t# 查看编译选项/usr/local/nginx/sbin/nginx -V# 启动/usr/local/nginx/sbin/nginx # 默认配置文件 conf/nginx.conf,-c 指定#关闭/usr/local/nginx/sbin/nginx -s stop# orpkill nginx# 重启,不会改变启动时指定的配置文件/usr/local/nginx/sbin/nginx -s reload# 或者kill -HUP `cat /usr/local/nginx-1.6/logs/nginx.pid`# 也可以将 nginx 作为系统服务管理,下载 nginx 到/etc/init.d/,修改路径和可执行权限# service nginx {start|stop|status|restart|reload|configtest}

nginx大多数常用模块,编写翻译时./configure --help以--without开端的都暗中认可安装。

需要 php-fpm 的支持

--prefix=PATH : 钦命nginx的安装目录。私下认可 /usr/local/nginx

向来行使自带的 php-fpm

--conf-path=PATH : 设置nginx.conf配置文件的门道。nginx允许利用差异的布置文件运行,通过命令行中的-c选项。默感到prefix/conf/nginx.conf

设若未有,那重新编译 PHP,在原来的编写翻译新闻后增加 --enable-fpm

--user=name: 设置nginx专门的学问历程的顾客。安装完结后,能够每二十七日在nginx.conf配置文件改善user指令。暗许的客商名是nobody。--group=name近似

翻看原本的编译信息

--with-pcre :

php -i | grep Configure

安装PCRE库的源码路线,要是已透过yum方式安装,使用--with-pcre自动找到库文件。使用--with-pcre=PATH时,需求从PCRE网址下载pcre库的源码(版本4.4

8.30)并解压,剩下的就提交Nginx的./configure和make来成功。perl正则表达式使用在location指令和 ngx_http_rewrite_module模块中。

--with-zlib=PATH : 钦赐 zlib(版本1.1.3 - 1.2.5)的源码解压目录。在暗中认可就启用的网络传输压缩模块ngx_http_gzip_module时要求运用zlib 。

--with-http_ssl_module : 使用https合同模块。暗中认可景况下,该模块未有被营造。前提是openssl与openssl-devel已设置

--with-http_stub_status_module : 用来监督 Nginx 的当下情况

--with-http_realip_module : 通过这么些模块允许大家更换顾客端需要头中型大巴户端IP地址值(举例X-Real-IP 或 X-Forwarded-For卡塔尔(قطر‎,意义在于能够使得后台服务器记录原始顾客端的IP地址

--add-module=PATH : 增添第三方外界模块,如nginx-sticky-module-ng或缓存模块。每一回增多新的模块都要再次编写翻译(Tengine能够在新加盟module时无需另行编写翻译)

 

5:配置Nginx命令和劳务并开机运营

Bash

vim /etc/init.d/nginx

复制一下代码到地点的文书

Bash

#!/bin/bash  
# nginx Startup script for the Nginx HTTP Server  
#  
# chkconfig: - 85 15  
# description: Nginx is a high-performance web and proxy server.  
# It has a lot of features, but it's not for everyone.  
# processname: nginx  
# pidfile: /var/run/nginx.pid  
# config: /usr/local/nginx/conf/nginx.conf  
nginxd=/usr/local/nginx/sbin/nginx  
nginx_config=/usr/local/nginx/conf/nginx.conf  
nginx_pid=/usr/local/nginx/nginx.pid  

RETVAL=0  
prog="nginx" 

# Source function library.  
. /etc/rc.d/init.d/functions  

# Source networking configuration.  
. /etc/sysconfig/network  

# Check that networking is up.  
[ ${NETWORKING} = "no" ] && exit 0  

[ -x $nginxd ] || exit 0  


# Start nginx daemons functions.  
start() {  

if [ -e $nginx_pid ];then 
   echo "nginx already running...." 
   exit 1  
fi  

   echo -n $"Starting $prog: " 
   daemon $nginxd -c ${nginx_config}  
   RETVAL=$?  
   echo  
   [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx  
   return $RETVAL  

}  


# Stop nginx daemons functions.  
stop() {  
        echo -n $"Stopping $prog: " 
        killproc $nginxd  
        RETVAL=$?  
        echo  
        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid  
}  


# reload nginx service functions.  
reload() {  

    echo -n $"Reloading $prog: " 
 $nginxd -s reload  
    #if your nginx version is below 0.8, please use this command: "kill -HUP `cat ${nginx_pid}`" 
    RETVAL=$?  
    echo  

}  

# See how we were called.  
case "$1" in 
start)  
        start  
        ;;  

stop)  
        stop  
        ;;  

reload)  
        reload  
        ;;  

restart)  
        stop  
        start  
        ;;  

status)  
        status $prog  
        RETVAL=$?  
        ;;  
*)  
        echo $"Usage: $prog {start|stop|restart|reload|status|help}" 
        exit 1  
esac  

exit $RETVAL

Bash

cd /etc/rc.d/init.d
#附加执行权限
chmod 755 /etc/init.d/nginx
#开机自启
chkconfig --level 345 nginx on
service nginx start #可选  start | stop | restart | reload | status |  help

加上 --enable-fpm 选项实行重新编译

6.查看系统IP地址,展开nginx的地面网页

[root@bogon ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:9C:2B:A5  
          inet addr:192.168.16.87  Bcast:192.168.16.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe9c:2ba5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1648500 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2193 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1606718906 (1.4 GiB)  TX bytes:176876 (172.7 KiB)

澳门新浦京娱乐场网站 1

配置 php-fpm

 #复制一份配置文件 sudo cp /usr/local/php7/etc/php-fpm.conf.default.conf php-fpm.conf #复制一份用户配置文件,用户名是配置 php 时指定的 sudo cp /usr/local/php7/etc/php-fpm.d/www.conf.default www.conf #启动 php-fpm,mac 必须要以 root 用户启动,-R 参数表示 --allow-to-run-as-root sudo /usr/local/php7/sbin/php-fpm -R #查看一下php-fpm是否启动成功 ps aux | grep php-fpm # php-fpm 的默认端口号是 9000 netstat -ant | grep 90000

nginx 整合 php-fpm

location ~ .php$ { root /data/home/arnoliu/www/developers.e.qq.com/web; fastcgi_pass 127.0.0.1:9001; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/home/arnoliu/www/developers.e.qq.com/web$fastcgi_script_name; include fastcgi_params;}

nginx.conf 配置文件

nginx 配置文件器重分为四有的:

  • main:别的部分的会三回九转自 main
  • server:首要用以钦点虚拟主机域名、IP 和端口
  • location:用于相配路由消息
  • upstream:(主要为反向代理、负载均衡有关安排)upstream 首要用于安装一文山会海的后端服务器,设置反向代理及后端服务器的载荷均衡

server 继承 main,location 继承 server

upstream 既不会继续指令也不会被三番三次,它有和谐的特有指令

自身的安排

worker_processes 8;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; access_log logs/access.log; sendfile on; keepalive_timeout 60; tcp_nopush on; tcp_nodelay on; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml; gzip_vary on; server { listen 80; server_name example.qq.com; root /data/home/arnoliu/www/example/web; charset utf-8; location / { root /data/home/arnoliu/www/example/web; index index.php index.html index.htm; } location ~ .php$ { root /data/home/arnoliu/www/example/web; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/home/arnoliu/www/example/web$fastcgi_script_name; include fastcgi_params; } }}

本文由澳门新浦京娱乐场网站发布于澳门新浦京娱乐场网站,转载请注明出处:澳门新浦京娱乐场网站nginx基本使用系列,配置分