步骤

1.安装编译工具及库文件

    yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

2.安装pcre 让Nginx支持rewrite功能

在src目录下下载安装包

    cd /usr/local/src/

    wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

3.解压安装包

    tar zxvf pcre-8.35.tar.gz

4.进入安装目录
    cd pcre-8.35
5.编译安装
    ./configure
    make && make install
6.查看pcre版本
    pcre-config --version
7.下载Nginx
    cd /usr/local/src/
    wget http://nginx.org/download/nginx-1.6.2.tar.gz
8.解压Nginx安装包
    tar zxvf nginx-1.6.2.tar.gz

9.进入安装目录
    cd nginx-1.6.2
10.编译安装
    ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35

    make
    make install

11.查看Nginx版本
    /usr/local/webserver/nginx/sbin/nginx -v

配置

1.创建Nginx运行使用的用户www:
    /usr/sbin/groupadd www 
    /usr/sbin/useradd -g www www

2.配置nginx.conf ,将/usr/local/webserver/nginx/conf/nginx.conf替换为以下内容

        user www www;
        worker_processes 2; #设置值和CPU核心数一致
        error_log /usr/local/webserver/nginx/logs/nginx_error.log crit; #日志位置和日志级别
        pid /usr/local/webserver/nginx/nginx.pid;
        #Specifies the value for maximum file descriptors that can be opened by this process.
        worker_rlimit_nofile 65535;
        events
        {
          use epoll;
          worker_connections 65535;
        }
        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';
          
        #charset gb2312;
             
          server_names_hash_bucket_size 128;
          client_header_buffer_size 32k;
          large_client_header_buffers 4 32k;
          client_max_body_size 8m;
             
          sendfile on;
          tcp_nopush on;
          keepalive_timeout 60;
          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 application/x-javascript text/css application/xml;
          gzip_vary on;
         
          #limit_zone crawler $binary_remote_addr 10m;
         #下面是server虚拟主机的配置
         server
          {
            listen 80;#监听端口
            server_name localhost;#域名
            index index.html index.htm index.php;
            root /usr/local/webserver/nginx/html;#站点目录
              location ~ .*\.(php|php5)?$
            {
              #fastcgi_pass unix:/tmp/php-cgi.sock;
              fastcgi_pass 127.0.0.1:9000;
              fastcgi_index index.php;
              include fastcgi.conf;
            }
            location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$
            {
              expires 30d;
          # access_log off;
            }
            location ~ .*\.(js|css)?$
            {
              expires 15d;
           # access_log off;
            }
            access_log off;
          }

        }

3.检查配置文件nginx.conf的正确性命令:会有“nginx: configuration file /usr/local/webserver/nginx/conf/nginx.conf test is successful"提示
    /usr/local/webserver/nginx/sbin/nginx -t

4.启动Nginx
    /usr/local/webserver/nginx/sbin/nginx

5.浏览器访问服务器地址
        Nginx配置监听80端口号
        如果访问失败:
        1.使用 ping 服务器ip  查看是否能ping通
        2.使用 telnet 服务器ip地址 80(端口号)查看是否能访问端口号 

Centos7如果是以上情况请看防火墙配置

centos7默认使用firewall

1.查看防火墙是否开启:systemctl status firewalld

2.开启防火墙:systemctl start firewalld.service

   如果出现Failed to start firewalld.service: Unit is masked的错误,说明firewalld服务被锁定了
可执行:systemctl unmask firewalld解除锁定

3.查看防火墙监听的端口号:firewall-cmd --list-ports

4.防火墙开启80端口访问:firewall-cmd --zone=public --add-port=80/tcp --permanent

5.重启防火墙:firewall-cmd --reload

防火墙相关命令:

    开启开机启动:systemctl enable firewalld.service
    关闭开机自启动:systemctl disable firewalld.service
    查看防火墙状态:firewall-cmd --state

    停止firewall:systemctl stop firewalld 
    禁用firewall:systemctl mask firewalld

获得更多java开发相关免费百度云学习视频请关注微信公众号 JavaFreeStudy:

Centos7 Nginx安装与配置,防火墙开启端口监听-LMLPHP

01-20 10:19