Coding With Fun
Home Docker Django Node.js Articles Python pip guide FAQ Policy

Nginx installation configuration


May 22, 2021 Linux


Table of contents


Nginx installation configuration

Nginx installation configuration

Nginx ("engine x") is a high-performance web and reverse proxy server developed by Russian programmer Icor Sysoev, as well as an IMAP/POP3/SMTP proxy server.

Nginx is a good alternative to Apache servers with high connectivity and 201um.




Nginx installation

System platform: CentOS release 6.6 (Final) 64-bit.

First, install compilation tools and library files

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

Second, the first step is to install PCRE

The role of PCRE is to enable Ngnix to support The Rewrite feature.

1, download the PCRE installation package, download address: http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz

[root@bogon src]# wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
Nginx installation configuration

2, unziw the installation package:

[root@bogon src]# tar zxvf pcre-8.35.tar.gz

3, into the installation package directory

[root@bogon src]# cd pcre-8.35

4, compilation and installation

[root@bogon pcre-8.35]# ./configure
[root@bogon pcre-8.35]# make && make install

5, view the pcre version

[root@bogon pcre-8.35]# pcre-config --version
Nginx installation configuration

Install Nginx

1, download Nginx, download address: http://nginx.org/download/nginx-1.6.2.tar.gz

[root@bogon src]# wget http://nginx.org/download/nginx-1.6.2.tar.gz

Nginx installation configuration 2, unziw the installation package

[root@bogon src]# tar zxvf nginx-1.6.2.tar.gz

3, into the installation package directory

[root@bogon src]# cd nginx-1.6.2

4, compilation and installation

[root@bogon nginx-1.6.2]# ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
[root@bogon nginx-1.6.2]# make
[root@bogon nginx-1.6.2]# make install

5, view the nginx version

[root@bogon nginx-1.6.2]# /usr/local/webserver/nginx/sbin/nginx -v
Nginx installation configuration

At this end, the nginx installation is complete.


Nginx configuration

Users who create Nginx runs using www:

[root@bogon conf]# /usr/sbin/groupadd www 
[root@bogon conf]# /usr/sbin/useradd -g www www

Configure nginx.conf and replace /usr/local/webserver/nginx/conf/nginx.conf with the following

[root@bogon conf]#  cat /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;
  }

}

Check the correctness command for profile nnix.conf:

[root@bogon conf]# /usr/local/webserver/nginx/sbin/nginx -t
Nginx installation configuration

Start Nginx

The Nginx startup command is as follows:

[root@bogon conf]# /usr/local/webserver/nginx/sbin/nginx
Nginx installation configuration

Visit the site

Visit our configured site ip from a browser:

Nginx installation configuration

Nginx other commands

Here are a few commands commonly used by Nginx:

/usr/local/webserver/nginx/sbin/nginx -s reload            # 重新载入配置文件
/usr/local/webserver/nginx/sbin/nginx -s reopen            # 重启 Nginx
/usr/local/webserver/nginx/sbin/nginx -s stop              # 停止 Nginx