首页 > 服务器 > 管理维护 > 正文

哪家Nginx服务器最靠谱

2024-09-10 14:20:53
字体:
来源:转载
供稿:网友

Nginx服务器好不好,怎么样了解Nginx服务器,哪家Nginx服务器最靠谱?

Web服务器对比

Unix和Linux平台下:Apache、Nginx、Lighttpd、

Tomcat、IBM、WebSphere、Jboss  专注于java

Windows平台下:微软公司的IIS(Internet Information Server)

Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器

官方网站:http://nginx.org/

nginx是模块化软件

依赖包,红帽光盘一般都有一个devel的标志

示例:搭建Nginx服务器,要求编译时启用如下功能:

SSL加密功能;设置Nginx账户及组名称均为nginx;Nginx服务器升级到更高版本。

然后客户端访问页面验证Nginx Web服务器:使用火狐浏览器访问;使用curl访问

Nginx软件安装

准备工作:搭建gcc、pcre-devel、openssl-devel环境,安装常见依赖包

[root@Proxy ~]# yum –y install gcc gcc-c++  make pcre-devel openssl-devel    

第一步:创建nginx用户  # useradd –s /sbin/nologin nginx

第二步:解压nginx包    # tar  -zxvf  nginx-1.8.0.tar.gz

第三步:进目录清单配置# cd  nginx-1.8.0------># ./configure 

常用参数:--prefix=/usr/local/nginx    //指定安装目录

--with-http_ssl_module     //指定SSL安全加密

//--with-xx模块名称  # ./configure --help |grep with

--user=nginx                   //指定账户

--group=nginx                  //指定组

第四步:编译及安装  make  &&  make  install

Nginx配置文件及目录

/usr/local/nginx/              //安装目录

/usr/local/nginx/conf/nginx.conf              //主配置文件

/usr/local/nginx/html/(目录可自定义)          //网页目录

/usr/local/nginx/logs                       //日志文件

/usr/local/nginx/sbin/nginx                    //启动脚本

Nginx进程管理

启动Nginx服务:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

常用选项:

-v:查看nginx版本

-V:查看编译参数

-t:测试默认配置文件

-c:指定配置文件

-s停止nginx服务(接reload重新加载主配置文件)

2)nginx命令的用法

[root@Proxy ~]# /usr/local/nginx/sbin/nginx//启动服务

[root@Proxy ~]# /usr/local/nginx/sbin/nginx -s stop//关闭服务

[root@Proxy ~]# /usr/local/nginx/sbin/nginx -s reload//重新加载配置文件

[root@Proxy ~]# /usr/local/nginx/sbin/nginx –V//查看软件信息

查看服务相关进程及端口信息:# ps aux |grep nginx

# netstat  -anptu  |  grep nginx  //nginx服务默认通过TCP 80端口监听客户端

3)为Nginx Web服务器建立测试首页文件

Nginx Web服务默认首页文档存储目录为/usr/local/nginx/html/,在此目录下建立一个名为index.html的文件:

[root@Proxy ~]# cat  /usr/local/nginx/html/index.html

<html>

<head>

<title>Welcome to nginx!</title>

</head>

<body bgcolor="white" text="black">

<center><h1>Welcome to nginx!</h1></center>

</body>

</html>

升级Nginx服务器

升级分为同版本加模块升级及版本升级两种

同版本加模块升级

rm -rf /root/lnmp_soft/nginx-1.8.0

# tar -zxvf nginx-1.8.0.tar.gz 

cd nginx-1.8.0

ls objs  没有绿色的程序

make 把源码变成二进制程序    #####!!!重要:现在千万不要打命令make install

make install会生成/usr/local/nginx/html/、/usr/local/nginx/conf/  、/usr/local/nginx/logs/ 、 /usr/local/nginx/sbin/

升级操作:

# 备份/usr/local/nginx/sbin/nginx.bak

# 拷贝新的程序到/usr/local/nginx/sbin/

# 重启服务nginx -s stop ;nginx -s start  或用命令make upgrade 

在不停止服务的情况下平滑升级Nginx软件版本【1.8--->1.9】

第一步:解压新nginx包,删除源解压包

[root@Proxy ~]# tar  -zxvf   nginx-1.9.0.tar.gz

第二步:进目录清单配置[root@Proxy ~]# cd nginx-1.9.0

[root@Proxy nginx-1.9.0]# ./configure   /

> --prefix=/usr/local/nginx   /         //指定安装目录

> --user=nginx   / 

> --group=nginx  / 

> --with-http_ssl_module

第三步:编译make [root@Proxy nginx-1.9.0]# make            

第四步:备份老的nginx主程序,并使用编译好的新版本nginx替换老版本

[root@Proxy nginx-1.9.0]# mv /usr//指定安全加密/local/nginx/sbin/nginx  /

>/usr/local/nginx/sbin/nginxold

[root@Proxy nginx-1.9.0]# cp objs/nginx  /usr/local/nginx/sbin/    //拷贝新版本

第五步:在目录升级软件并查看:

[root@Proxy nginx-1.9.0]# make upgrade                            //升级

[root@Proxy ~]# /usr/local/nginx/sbin/nginx –v                //查看版本

客户端访问测试:分别使用浏览器和命令行工具curl测试服务器页面

[root@client ~]# firefox http://192.168.4.5

[root@client ~]# curl http://192.168.4.5

Nginx配置解析

全局配置     /usr/local/nginx/conf/nginx.conf

http{

……

server{

……

location/{

……

}

}

}

一个server代表一个域名容器,使用ip访问时出现的是配置文件中的第一个server指定的网页,谁在第一访问谁的页面。

全局选项

user  nginx;                          //进程所有者

worker_processes  1;                  //启动进程数量

error_log  /var/log/nginx/error.log;  //日志文件

pid  /var/run/nginx.pid;               //PID文件

events {

worker_connections  1024;           //单个进程最大并发量

}

配置容器

http{

server{   //定义虚拟主机

listen  80;

server_name  localhost;   

location  /  {

root  html;                       //发布网页根目录

index  index.html  index.htm;     //网页文件

}

}

}

用户认证

使用htpasswd命令创建账户文件,需要确保系统中已经安装了httpd-tools。

# yum -y install  httpd-tools

第一步:修改配置文件/usr/local/nginx/conf/nginx.conf,添加参数

location / {

root   html;

index  index.html index.htm;

auth_basic “auth-domain”;

auth_basic_user_file “/usr/local/nginx/pass”;}#//存放密码文件,自已创建

}

第二步:创建用户名密码

# htpasswd  -cm  /usr/local/nginx/pass.txt  用户名

//-c为创建文件;-m为加密文件,在rhel7中不用加-m,已默认使用加密。追加创建用户名时无需-c,否则会覆盖)

日志:/usr/local/nginx/logs/error.log

示例:用户认证,实现以下目标:

访问Web页面需要进行用户认证;用户名为:tom,密码为:123456

方案:通过Nginx实现Web页面的认证,需要修改Nginx配置文件,在配置文件中添加auth语句实现用户认证。最后使用htpasswd命令创建用户及密码即可。

服务端配置

1)修改Nginx配置文件

[root@pc205 ~]# vim /usr/local/nginx/conf/nginx.conf

.. ..

server {

listen       80;

server_name  localhost;

auth_basic "Input Password:";        //认证提示符,即提示信息

auth_basic_user_file "/usr/local/nginx/pass";//认证密码文件,要自己新建

location / {

root   html;

index  index.html index.htm;

}

}

2)生成密码文件,创建用户及密码

[root@Proxy ~]# yum -y install  httpd-tools

[root@Proxy ~]# htpasswd -cm /usr/local/nginx/pass   tom     //创建密码文件

[root@Proxy ~]# htpasswd -m /usr/local/nginx/pass jerry      //追加用户

3)重启Nginx服务

[root@Proxy ~]# /usr/local/nginx/sbin/nginx –s reload        

//请先确保nginx是启动状态才可以执行命令成功,否则报错

客户端测试,登录192.168.4.100客户端主机进行测试

[root@client ~]# firefox http://192.168.4.5           //输入密码后可以访问

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表