简介 Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。在高连接并发的情况下,Nginx是Apache服务器不错的替代品。
部署Nginx 基础环境准备 1 2 # 安装基础依赖包 yum install -y make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
源码安装PCRE PCRE 作用是让 Nginx 支持 Rewrite 功能。
1 2 3 4 5 6 7 8 9 10 11 12 # 获取源码包 cd /usr/local/src && wget http://downloads.sourceforge.net/project/pcre/pcre/8.45/pcre-8.45.tar.gz # 解压 tar zxvf pcre-8.45.tar.gz && cd pcre-8.45 # 编译安装 ./configure make && make install # 查看pcre版本 pcre-config --version
源码安装Nginx 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 # 获取源码包 cd /usr/local/src && wget http://nginx.org/download/nginx-1.21.4.tar.gz # 解压 tar zxvf nginx-1.21.4.tar.gz && cd nginx-1.21.4 # 编译安装 ./configure --prefix=/usr/local/webserver/nginx \ --with-http_stub_status_module \ --with-http_ssl_module \ --with-pcre=/usr/local/src/pcre-8.45 make && make install # 软链接 ln -s /usr/local/webserver/nginx/sbin/nginx /usr/local/bin/nginx # 查看版本 nginx -v
配置Nginx基础环境 1 2 3 4 5 6 # 创建Nginx运行使用的用户:www groupadd www useradd -g www www # 备份配置文件 cp /usr/local/webserver/nginx/conf/nginx.conf /usr/local/webserver/nginx/conf/nginx.conf.template
配置nginx.conf 将 /usr/local/webserver/nginx/conf/nginx.conf
替换为以下内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 user www www; worker_processes 2 ; error_log /usr/local/webserver/nginx/logs/nginx_error.log crit; pid /usr/local/webserver/nginx/nginx.pid; 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' ; 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; server { listen 80 ; server_name localhost; index index.html index.htm index.php; root /usr/local/webserver/nginx/html; access_log off; location /status { stub_status on; } location ~ .*\.(php|php5)?$ { fastcgi_pass 127.0 .0 .1 :9000; fastcgi_index index.php; include fastcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 15d; } } }
检测nginx.conf配置正确性
1 2 3 root@k44: conf # nginx -t nginx: the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/webserver/nginx/conf/nginx.conf test is successful
启动Nginx
管理Nginx 1 2 3 4 5 6 7 8 # 重新载入配置文件 nginx -s reload # 重启 Nginx nginx -s reopen # 停止 Nginx nginx -s stop
参考文档