CentOS下编译、安装与配置nginx

  

下面就是针对CentOS系统进行nginx编译、安装与配置的详细攻略:

1.准备工作

在进行nginx编译安装之前,需要先安装几个必要的工具和库。

yum install gcc automake autoconf libtool make zlib zlib-devel openssl-devel pcre pcre-devel

这行命令用来安装nginx编译所需的一些必要软件与依赖。

2.下载nginx

到Nginx官网下载最新版的源码包,或者使用以下命令下载最新版的nginx:

wget http://nginx.org/download/nginx-1.19.1.tar.gz

3.编译安装nginx

在解压之前,可以先创建一个专门存放nginx的目录,如下:

mkdir /usr/local/nginx

解压刚才下载的nginx源码包,如下:

tar -zxvf nginx-1.19.1.tar.gz

解压完成之后,进入解压出的nginx目录,执行以下命令编译并安装nginx:

cd nginx-1.19.1
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre=../pcre-8.44 --with-zlib=../zlib_1.2.11 --with-openssl=../openssl-1.1.1d
make
make install

说明:

  • ./configure指令的作用是进行编译选项配置,其中--prefix指定了nginx安装的目录,--with-http_ssl_module指定了支持https,--with-pcre、--with-zlib、--with-openssl指定了三个模块的源码路径。

  • make执行生成nginx可执行文件,make install即为安装到指定的/usr/local/nginx目录。

如果以上步骤都完成了,就说明nginx已经编译安装成功了。

4.修改配置

用编辑器打开nginx的配置文件/usr/local/nginx/conf/nginx.conf,进行如下修改:

user www-data; # 修改为当前用户

worker_processes 2; # 指定CPU核心数

error_log /usr/local/nginx/nginx_error.log; # 设置错误日志

pid /usr/local/nginx/nginx.pid; # PID

worker_rlimit_nofile 65535; # 打开文件的最大数量

events
{
  worker_connections 65535; # 最大同时连接数
  use epoll; # 使用epoll多路复用
}

http
{
  include mime.types;
  default_type application/octet-stream;
  log_format main '[ $remote_addr ] [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for"';
  access_log /usr/local/nginx/nginx_access.log main;
  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  keepalive_timeout 65;
  gzip on;
  gzip_static on;
  gzip_disable msie6;
  gzip_min_length 1k;
  gzip_comp_level 6;
  server_tokens off; # 关闭nginx版本号的显示
  server_names_hash_bucket_size 128;
  server_names_hash_max_size 512;
  include /usr/local/nginx/conf/conf.d/*.conf;
}

修改之后,保存文件。

5.启动nginx

输入以下命令启动nginx:

/usr/local/nginx/sbin/nginx

6.示例1:nginx配置反向代理

将客户端请求的URL转发给不同的后台服务器处理,以提升访问速度。

location / {
        proxy_pass http://backend.com;
}

7.示例2:nginx配置静态文件服务器

当客户端请求的是静态文件时(如css、js、图片等),可以通过以下方式处理请求,减轻后台服务器压力。

location ~* \.(gif|jpg|jpeg|png|css|js|swf|ico)$ {
        root /path/to/your/static/files;
        expires 30d;
        add_header Pragma public;
        add_header Cache-Control "public";
}

至此,CentOS下编译、安装与配置nginx的完整攻略就介绍完了,希望对您有所帮助。

相关文章