您的位置:新葡亰496net > 电脑系统 > 新葡亰496net配置分享,9编译安装Nginx1

新葡亰496net配置分享,9编译安装Nginx1

发布时间:2019-12-29 22:49编辑:电脑系统浏览(76)

    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_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时没有必要另行编写翻译)
      暗中同意的提供后生可畏种编写翻译方案
    ./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_新葡亰496net配置分享,9编译安装Nginx1。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卡塔尔,意义在于能够使得后台服务器记录原始客商端的IP地址

    --with-pcre:

    新葡亰496net配置分享,9编译安装Nginx1。设置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
    

    新葡亰496net,启航关闭 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)
    

    新葡亰496net 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; } }}
    

    本文由新葡亰496net发布于电脑系统,转载请注明出处:新葡亰496net配置分享,9编译安装Nginx1

    关键词: