zoukankan      html  css  js  c++  java
  • Nginx安装部署!

    安装Nginx方法一:利用u盘导入Nginx软件包

    二nginx -t 用于检测配置文件语法

    如下报错1:配置文件43行出现错误

    [root@www ~]# nginx -t
    nginx: [emerg] "location" directive is not allowed here in /usr/local/nginx/conf/nginx.conf:43
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

    如下错误2:worker里面工作区出现问题

    [root@www ~]# nginx -t
    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: [warn] 10240 worker_connections exceed open file resource limit: 1024
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

    解决办法:

    [root@www ~]# ulimit -n 10240

    main(全局设置)、server(主机设置)、upstream(负载均衡服务器设置)和 location(URL匹配特定位置的设置)。
    
        main块设置的指令将影响其他所有设置;
        server块的指令主要用于指定主机和端口;
        upstream指令主要用于负载均衡,设置一系列的后端服务器;
        location块用于匹配网页位置。

    =============================================================

    创建单个基于域名的虚拟主机并测试

    [root@localhost ~]# rpm -q httpd                         //有httpd软件必须删除

    未安装软件包 httpd

    安装支持软件
    [root@localhost ~]# rpm -q gcc gcc-c++ zlib-devel pcre-devel make
    [root@localhost ~]# yum -y install gcc gcc-c++ zlib-devel pcre-devel make

    完毕!

    创建运行用户、组
    [root@localhost ~]# useradd -M -s /sbin/nologin nginx
    [root@localhost ~]# tail -l /etc/passwd ;tail -l /etc/group

    导入nginx软件包
    [root@localhost ~]# rz -E                                       
    rz waiting to receive.
    [root@localhost ~]# ls
    anaconda-ks.cfg   initial-setup-ks.cfg  nginx-1.16.0.tar.gz   original-ks.cfg
    [root@localhost ~]# tar xf nginx-1.16.0.tar.gz -C /usr/src
    [root@localhost ~]# cd /usr/src/nginx-1.16.0/

    编译安装 Nginx
    [root@localhost nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module  --with-stream --with-http_gzip_static_module && make && make install

     --prefix 设定Nginx的安装目录

    --user--group 指定Nginx运行用户和组

    --with-http_stub_status_module 启用http_stub_status_module模块以支持状态统计

    --with-http_ssl_module 启用SSL模块

    --with-http_flv_module 启用FLV模块,提供寻求内存使用基于时间的偏移量文件

    --with-stream 用于做七层,四层负载的模块

    [root@localhost nginx-1.16.0]# cd

    为主程序 nginx  创建链接文件
    [root@localhost ~]# ls /usr/local/nginx/
    conf   html  logs     sbin

    [root@localhost ~]#ln -sf /usr/local/nginx/sbin/nginx /usr/local/sbin/
    [root@localhost ~]# ll /usr/local/sbin/nginx
    lrwxrwxrwx. 1 root root 27 9月 10 17:12 /usr/local/sbin/nginx -> /usr/local/nginx/sbin/nginx

    Nginx 的运行控制方法
    手动方法控制 Nginx:
    nginx -t 检测配置文件语法
    执行 nginx 主程序启动 Nginx

    编写 nginx  服务脚本

    [root@localhost ~]# vim /etc/init.d/nginx

    #!/bin/bash
    # chkconfig: 2345 99 20
    # description: Nginx Server Control Scripts shell
    PROG="/usr/local/nginx/sbin/nginx"
    PIDF="/usr/local/nginx/logs/nginx.pid"


    case "$1" in
    start)
         $PROG
    ;;
    stop)
         kill -s QUIT $(cat $PIDF)
    ;;
    restart)
        $0 stop
        $0 start
    ;;
    reload)
        kill -s HUP $(cat $PIDF)
    ;;
    *)
        echo "Usage: $0 {start|stop|restart|reload}"
        exit 1
    esac
    exit 0

    [root@localhost ~]# chmod +x /etc/init.d/nginx 

    Nginx  修改主配置文件

    [root@localhost ~]# cd /usr/local/nginx/conf/
    [root@localhost conf]# cp nginx.conf nginx.conf.origin
    [root@localhost conf]# vim nginx.conf

    user  nginx nginx;                           //nginx的程序账户及程序组
    worker_processes  2;                         //指定进程数一般与cpu数量一致
    worker_cpu_affinity 00000001 00000010;       //为每个进程分配核心数
    error_log  logs/error.log  info;             //全局错误日志文件位置
    pid        logs/nginx.pid;                   //PID文件的位置
    events {
       use epoll;                                //使用epoll模型
        worker_connections  10240;               //每个进程允许的最多的连接数默认为1024一般10000以下
    }
    http {
        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;                       //支持文件发送超时
        keepalive_timeout  65;
    server {                                      //web服务的监听配置
            listen       80;                      //监听地址及端口(IPPORT
            server_name  localhost;     //网站名称(FQDN)        
    charset utf-8; //网页的默认字符集
    access_log logs
    /localhost.access.log main; location / { //根目录配置
    root
    html; //网站根目录的位置安装位置的html中
    index index.html index.htm;
    //默认首页
    }


         error_page 500 502 503 504 /50x.html;       //内部错误的反馈页面
           location =/50x.html {                     //错误页面配置
               root html;
            }
        }
    }

     

    [root@localhost ~]# nginx -t             //检测语法错误
    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
    [root@localhost ~]# nginx               //启动nginx服务

    [root@localhost ~]# killall -HUP nginx

    [root@localhost ~]# netstat -anpt | grep nginx
    tcp     0           0 0.0.0.0:80              0.0.0.0:*               LISTEN 64726/nginx: master

    [root@localhost ~]# systemctl stop firewalld
    [root@localhost ~]# iptables -F
    [root@localhost ~]# setenforce 0

    nginx安装完成

    安装Nginx方法二:

    从官网下载相应的源码包:

    Nginx下载地址:http://nginx.org/en/download.html

    [root@localhost ~]#wget http:;//nginx.org/download/nginx-1.14.2.tar.gz
    [root@localhost ~]#tar xf nginx-1.14.2.tar.gz -C /usr/src
    [root@localhost ~]#cd /usr/src/nginx-1.14.2
    [root@localhost nginx-1.14.2]#yum install gcc gcc-c++ make zlib-devel pcre-devel -y
    [root@localhost nginx-1.16.0]#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
    && make && make install

    [root@localhost nginx-1.17.4]# cd /usr/share/vim/vimfiles/                  //拷入相应的语法

    [root@localhost ~]# cd /usr/local/nginx/conf/

    [root@localhost conf]# vim nginx.conf

    user  nginx nginx;                           //nginx的程序账户及程序组
    worker_processes  2;                         //指定进程数一般与cpu数量一致
    worker_cpu_affinity 00000001 00000010;       //为每个进程分配核心数
    error_log  logs/error.log  info;             //全局错误日志文件位置
    pid        logs/nginx.pid;                   //PID文件的位置
    events {
       use epoll;                                //使用epoll模型
        worker_connections  10240;               //每个进程允许的最多的连接数默认为1024一般10000以下
    }
    http {
        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;                       //支持文件发送超时
        keepalive_timeout  65;
    server {                                      //web服务的监听配置
            listen       80;                      //监听地址及端口(IP:PORT)
            server_name  localhost;     //网站名称(FQDN)        
           charset utf-8; //网页的默认字符集        
           access_log  logs/localhost.access.log  main; 
    location / {                                //根目录配置            
             root   html;             //网站根目录的位置安装位置的html中            
             index  index.html index.htm;       //默认首页       
     }          
    
         error_page 500 502 503 504 /50x.html;       //内部错误的反馈页面
           location =/50x.html {                     //错误页面配置
               root html;
            }
        }
    }

  • 相关阅读:
    SQL的update from 理解
    JS自动合并表格
    完全备份ORACLE数据库 并在另一台电脑上恢复
    cmd 连接到指定路径
    oracle 11g 64位安装sqldeveloper打开不了
    oracle 11g卸载方法
    sql的游标使用(转)
    JQEUERY案例
    sessionStorage实现note的功能
    Web Worker模拟抢票
  • 原文地址:https://www.cnblogs.com/CMX_Shmily/p/11502569.html
Copyright © 2011-2022 走看看