原址:
http://lqw.iteye.com/blog/652763
安装Nginx
1.首先安装pcre-8.02.tar 否则
执行完后会提示一个错误,说缺少PCRE library 这个是HTTP Rewrite 模块,也即是url静态化的包
可上传pcre-8.02.tar.gz,输入如下命令安装:
tar xzvf pcre-8.02.tar
./configure
make
make install
2.执行如下命令解压nginx:
tar xzvf nginx-0.8.35.tar.gz
3.编译安装nginx
cd nginx-0.8.35
./configure --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module
#启动server状态页和https模块
--with-http_stub_status_module 必须加上,不然报unknown directive "stub_status"
make
make install
4.nginx安装成功后的安装目录为/usr/local/nginx
在conf文件夹中新建proxy.conf,用于配置一些代理参数,内容如下:
#!nginx (-)
# proxy.conf
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; #获取真实ip
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #获取代理者的真实ip
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
编辑安装目录下conf文件夹中的nginx.conf,输入如下内容:
#--------------------------------------------
#运行nginx所在的用户名和用户组
user nobody nobody;
#启动进程数
worker_processes 2;
worker_cpu_affinity 0010 0001 ;
#worker_cpu_affinity 0001 0100 1000 0010 0001 0100 1000 0010;
#全局错误日志及PID文件
error_log /usr/local/nginx/logs/nginx_error.log crit;
pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 65535;
#工作模式及连接数上限
events
{
use epoll;
worker_connections 65535;
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http{
include mime.types;
default_type application/octet-stream;
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模块
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;
#设定负载均衡列表
upstream backend
{
#down 表示单前的server暂时不参与负载
#weigth参数表示权值,权值越高被分配到的几率越大
#server 192.168.3.69:80 weight=1;
#max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
#fail_timeout:max_fails次失败后,暂停的时间。
#backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
server 172.16.50.147:8081;
server 172.16.50.147:8082;
server 172.16.50.147:8083;
server 172.16.50.147:8084;
}
#禁止通过ip访问站点
#server{
#server_name _;
#return 404;
#}
#设定虚拟主机
server {
listen 80;
server_name localhost;
#对 / 所有做负载均衡 (本机nginx采用完全转发,所有请求都转发到后端的tomcat集群)
location / {
#设定网站的资源存放路径
root /var/www ;
#设定访问的默认首页地址
index index.jsp index.htm index.html;
#proxy_pass http://backend ;
#保留用户真实信息
include proxy.conf;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_cache cache;
#proxy_store on;
proxy_temp_path /root/cache;
proxy_cache_valid 200 302 24h;#200和302状态码保存1小时
proxy_cache_valid 301 1d;#301状态码保存一天
proxy_cache_valid any 10h;#其它的保存一分钟
if ( !-f \$request_filename) {
proxy_pass http://backend;
}
}
#状态监控部分
location /nginx {
stub_status on;
access_log on;
auth_basic "NginxStatus";
auth_basic_user_file /usr/local/nginx/htpasswd;
#允许访问的ip allow 127.0.0.1;
}
#定义访问日志的写入格式
log_format access '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
#设定访问日志的存放路径
#access_log /usr/local/nginx/logs/access.log access;
#设定access log
access_log logs/access.log access;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
#keepalive_timeout 65; (这个参数如果启用,会出现未知错误,因此暂时取消)
}
}
#---------------------------------
5.修改/usr/local/nginx/conf/nginx.conf配置文件后,请执行以下命令检查配置文件是否正确:
#/usr/local/nginx/sbin/nginx -t
如果屏幕显示以下两行信息,说明配置文件正确:
the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
the configuration file /usr/local/nginx/conf/nginx.conf was tested successfully
如果提示unknown host,则可在服务器上执行:ping www.baidu.com如果也是同样提示unknown host则有两种可能:
a、服务器没有设置DNS服务器地址,查看/etc/resolv.conf下是否设置,若无则加上
b、防火墙拦截
备注:conf/htpasswd 文件的内容用 apache 提供的 htpasswd 工具来产生即可,如下:
htpasswd -c /usr/local/nginx/htpasswd admin
输入密码:
6、启动nginx的命令
#/usr/local/nginx/sbin/nginx
这时,输入以下命令查看Nginx主进程号:
netstat -ntlp
ps -ef | grep nginx
查看 Nginx 运行状态
输入地址 http://172.16.50.147/nginx/,输入验证帐号密码,即可看到类似如下内容:
Active connections: 328
server accepts handled requests
9309 8982 28890
Reading: 1 Writing: 3 Waiting: 324
7、停止nginx的命令
#/usr/local/nginx/sbin/nginx -s stop
8,修改配置文件不停止服务,而重新加载新配置文件
kill -HUP PID
#/usr/local/nginx/sbin/nginx -s reload
8.纪念日把整站变成黑白色调
在nginx.conf配置文件的http {...}大括号内增加以下两行:
#sub_filter '</head>' '<style type="text/css">html {filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); }</style></head>';
#sub_filter_once on;
分享到:
相关推荐
### Nginx安装配置全攻略 #### 一、概述 Nginx是一款广泛使用的高性能Web服务器和反向代理服务器,以其稳定性和高并发处理能力而著称。本文将详细介绍Nginx的安装与配置方法,旨在帮助读者快速掌握Nginx的部署技巧...
**Nginx配置** Nginx 的配置文件通常位于 `/etc/nginx/nginx.conf`,也可以通过创建多个 server 块来为不同的域名或服务定制配置。主要配置项包括: 1. **基本配置**:定义监听端口、服务器名称(可以是 IP 地址或...
3. **配置**:进入解压后的目录,并配置Nginx安装。根据你的需求,可以指定安装路径、模块选择等。基本配置如下: ``` cd nginx-1.18.0 ./configure --prefix=/usr/local/nginx --with-...
5. **安装RPM包**:现在,你可以使用`yum install`命令来安装Nginx及其依赖,指定你的本地仓库路径。例如: ```bash yum --disablerepo=* --enablerepo=nginx-repo install nginx ``` 6. **处理冲突和依赖问题*...
**步骤5:配置和启动Nginx** 安装完成后,配置Nginx以满足你的需求。默认配置文件通常位于`/etc/nginx/nginx.conf`。修改后,使用`nginx -t`检查配置是否正确,然后通过`systemctl start nginx`启动Nginx服务。 **...
4. **lib2 rpm文件**:RPM(Red Hat Package Manager)是Linux下的软件包管理器,用于安装、升级、查询和卸载软件。"lib2 rpm文件"可能包含了除基础包之外的其他环境包,比如可能包含额外的模块或依赖,根据实际需求...
5. **启动nginx**:配置完毕后,通过`systemctl start nginx`启动nginx服务。若想让nginx开机自启动,使用`systemctl enable nginx`。 6. **测试nginx**:在浏览器中输入服务器的IP地址,如果能看到nginx的欢迎页面...
如果需要自定义Nginx配置或添加模块,就需要从官方仓库下载Nginx源代码,然后使用GCC进行编译。编译步骤大致如下: 1. 解压源代码包:`tar -zxvf nginx-1.18.0.tar.gz` 2. 配置编译选项:`./configure --prefix=/...
安装完成后,Nginx的配置文件位于`/etc/nginx/nginx.conf`。你可以根据需求修改配置,例如设置服务器块(server blocks)以托管多个网站。 5. **启动和管理Nginx** 启动Nginx服务并检查其状态: ```bash # ...
在服务器管理中,有时我们需要在没有互联网连接的情况下安装软件,比如Nginx。这时,离线安装就显得尤为重要。本资源包包含Nginx及其所有必要的依赖项,如Perl、OpenSSL、Zlib和PCRE库,以及一个详细的安装教程,...
本教程将详细讲解如何在Linux环境下安装Nginx,包括必要的前置环境GCC(GNU Compiler Collection)和OpenSSL的安装步骤。 首先,GCC是Linux系统下的编译器集合,用于将源代码编译为可执行程序。在安装Nginx之前,...
"Linux+Nginx+PHP+MySQL...* Nginx 安装和配置 * PHP 安装和配置 * MySQL 安装和配置 * 防火墙配置 相关资源 * Red Hat Linux 官方文档 * Nginx 官方文档 * PHP 官方文档 * MySQL 官方文档 * Linux 防火墙配置指南
5. **配置Nginx**:安装完成后,需要配置Nginx以适应你的需求。主要的配置文件位于`/etc/nginx/nginx.conf`。根据你的服务器角色(如Web服务器、反向代理或负载均衡器),调整配置。 6. **启动Nginx**:启动Nginx...
首先,我们需要确认当前安装的 Nginx 版本是否支持 SSL。可以通过以下命令查看 Nginx 的编译参数,从而判断是否支持 SSL: ```bash [root@ytkjbin]#/usr/local/nginx/sbin/nginx -V nginx version: nginx/1.13.3 ...
本篇将详细讲解如何离线安装Nginx,一个流行的开源Web服务器,以及它所依赖的RPM(Red Hat Package Manager)包。 Nginx以其高性能、稳定性和低内存占用而著名,常用于静态内容服务和反向代理。在没有网络连接的...
在这个场景中,我们有一个名为"nginx-centos7"的压缩包,这个包里包含了在CentOS 7上安装Nginx所需的所有RPM(Red Hat Package Manager)软件包。 离线安装的步骤如下: 1. **下载所需软件包**:通常,这一步会在...
4. **配置Nginx**:安装完成后,你需要对Nginx进行基本配置。配置文件通常位于`/etc/nginx/nginx.conf`。根据你的需求,你可以修改监听端口、服务器块(server blocks)以及其他设置。 5. **启动Nginx**:使用`...
对于高级用户,还可以通过编译源代码的方式安装Nginx,这样可以自定义更多的配置选项和模块,但这种方式需要更多的系统知识和步骤,不适合初学者。 总的来说,离线RPM安装方式为在无网络环境下的Nginx部署提供了...
在Linux系统领域,中标麒麟(NeoKylin)是一款由中国自主研发的服务器和桌面操作系统,它基于开源的Red Hat Enterprise Linux进行开发。...正确安装和配置Nginx,将有助于构建高效稳定的Web服务环境。