Nginx服务器的搭建及配置-创新互联

Linux 搭建Nginx服务

创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站设计制作、成都网站制作、杜尔伯特网络推广、重庆小程序开发、杜尔伯特网络营销、杜尔伯特企业策划、杜尔伯特品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联公司为所有大学生创业者提供杜尔伯特建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

1.Nginx安装

2.Nginx虚拟主机

3.Nginx用户访问控制、进行SSL加密

一、构建Nginx服务器

1)使用源码包安装nginx软件包

[root@svr ~]# yum -y install zlib-devel  openssl-devel  pcre-devel  perl-devel  make  gcc    //安装常见依赖包

[root@svr ~]# useradd –s /sbin/nologin nginx

[root@svr ~]# wget http://124.202.164.12/files/408500000A3B37E2/nginx.org/download/nginx-1.13.1.tar.gz

[root@svr ~]# tar  -zxvf  nginx-1.13.1.tar.gz

[root@svr ~]# cd  nginx-1.13.1

[root@svr nginx-1.13.1]# ./configure  \

>--prefix=/usr/local/nginx  \     //指定安装路径

>--user=nginx  \           //指定用户

>--group=nginx  \           //指定组

>--with-http_stub_status_module  \  //开启状态统计功能

>--with-http_ssl_module       //开启SSL加密功能

....

[root@svr nginx-1.13.1]# make && make install   //编译并安装

2)启用nginx服务

[root@svr ~]# /usr/local/nginx/sbin/nginx  //启动Nginx

nginx服务默认通过TCP 80端口监听客户端请求:

[root@svr ~]# netstat  -anptu  |  grep nginx

tcp     000.0.0.0:800.0.0.0:*     LISTEN     10441/nginx

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

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

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

Welcome to Nginx 192.168.4.5

二、用户认证及访问控制

通过Nginx实现Web页面的认证与访问控制,需要修改Nginx配置文件,在location容器中添加allow及deny语句实现访问控制,

添加auth语句实现用户认证。最后使用htpasswd命令创建用户及密码即可。

 修改Nginx配置文件

1)修改/usr/local/nginx/conf/nginx.conf

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

....

server {

    listen    80;

    server_name  localhost;

    auth_basic "Input Password:";  //认证提示符

    auth_basic_user_file pass.txt;  //认证密码文件

location /{

      root  html;

      index  index.html index.htm;

}

location /test {

        allow 192.168.4.205;  //访问控制,仅192.168.4.205可以访问

        deny all;   //拒绝所有

      index  index.html index.htm;

}

2)创建二级页面目录,并生成index.html文件

[root@svr ~]# mkdir /usr/local/nginx/html/test

[root@svr ~]# echo “test” >/usr/local/nginx/html/test/index.html

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

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

[root@svr ~]# htpasswd -cm /usr/local/nginx/conf/pass.txt tom

New password:

Re-type new password:

Adding password for user tom

4)重启Nginx服务

[root@svr ~]# /usr/local/nginx/sbin/nginx –s stop

[root@svr ~]# /usr/local/nginx/sbin/nginx

客户端测试

1)登录192.168.4.205主机进行测试

 http://192.168.4.5           //输入密码后可以访问

 http://192.168.4.5/test       //输入密码后可以访问

2)登录非192.168.4.205的其他任意主机测试

 http://192.168.4.5         //输入密码后可以访问

 http://192.168.4.5/test     //输入密码后无法访问

三、 Nginx虚拟主机

实现两个基于域名的虚拟主机,域名分别为www.tarena.com和bbs.tarena.com

域名为bbs.tarena.com的Web服务仅允许192.168.4.205访问

对域名为bbs.tarena.com的站点进行用户认证,用户名称为tom,密码为123456

对域名为www.tarena.com的站点进行SSL加密

修改Nginx配置文件,添加server容器实现虚拟主机功能;对于需要进行访问控制的虚拟主机添加allow和deny语句;

对于需要进行用户认证的虚拟主机添加auth认证语句;对于需要进行SSL加密处理的站点添加ssl相关指令。

1)修改Nginx服务配置,添加相关虚拟主机配置如下

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

....

server {

    listen    192.168.4.5:80;  //端口

    server_name  bbs.tarena.com;  //域名

allow 192.168.4.205;      //仅192.168.4.205可以访问

deny all;            //拒绝所有

auth_basic "Input Password:";  //认证提示符

    auth_basic_user_file pass.txt;  //认证密码文件

location /{

      root  bbs;//指定网站根路径

      index  index.html index.htm;

}

}

server {

    listen    192.168.4.5:443;

    server_name  www.tarena.com;

ssl   on;             //开启SSL

ssl_certificate     cert.pem;  //指定证书文件

ssl_certificate_key   cert.key;  //指定私钥文件

ssl_session_timeout  5m;

ssl_protocols  SSLv2 SSLv3 TLSv1;

ssl_ciphers  HIGH:!aNULL:!MD5;

ssl_prefer_server_ciphers  on;

location /{

root  www;             //指定网站根路径

index  index.html index.htm;

}

}

2)生成私钥与证书

[root@svr ~]# openssl genrsa -out cert.key 2048   //生成私钥

[root@svr ~]# openssl req -new -x509 -key cert.key -out cert.pem  //生成证书

[root@svr ~]# cp {cert.key,cert.pem}/usr/local/nginx/conf

3)创建网站根目录及对应首页文件

[root@svr ~]# mkdir /usr/local/nginx/{www,bbs}

[root@svr ~]# echo “www” >/usr/local/nginx/www/index.html

[root@svr ~]# echo “bbs” >/usr/local/nginx/bbs/index.html

4)重启nginx服务

[root@svr ~]# /usr/local/nginx/sbin/nginx –s stop

[root@svr ~]# /usr/local/nginx/sbin/nginx

 客户端测试

1)修改/etc/hosts文件,进行域名解析

[root@client ~]# vim /etc/hosts

192.168.4.5   www.tarena.com  bbs.tarena.com

2)登录192.168.4.205主机进行测试

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

[root@client ~]# firefox https://www.tarena.com       //信任证书后可以访问

3)登录非192.168.4.205的其他任意主机测试

[root@client ~]# firefox http://bbs.tarena.com       //无法访问

[root@client ~]# firefox https://www.tarena.com       //信任证书后可以访问Linux 搭建Nginx服务器

1.Nginx安装

2.Nginx虚拟主机

3.Nginx用户访问控制、进行SSL加密

一、构建Nginx服务器

1)使用源码包安装nginx软件包

[root@svr ~]# yum -y install zlib-devel  openssl-devel  pcre-devel  perl-devel  make  gcc    //安装常见依赖包

[root@svr ~]# useradd –s /sbin/nologin nginx

[root@svr ~]# wget http://124.202.164.12/files/408500000A3B37E2/nginx.org/download/nginx-1.13.1.tar.gz

[root@svr ~]# tar  -zxvf  nginx-1.13.1.tar.gz

[root@svr ~]# cd  nginx-1.13.1

[root@svr nginx-1.13.1]# ./configure  \

>--prefix=/usr/local/nginx  \     //指定安装路径

>--user=nginx  \           //指定用户

>--group=nginx  \           //指定组

>--with-http_stub_status_module  \  //开启状态统计功能

>--with-http_ssl_module       //开启SSL加密功能

....

[root@svr nginx-1.13.1]# make && make install   //编译并安装

2)启用nginx服务

[root@svr ~]# /usr/local/nginx/sbin/nginx  //启动Nginx

nginx服务默认通过TCP 80端口监听客户端请求:

[root@svr ~]# netstat  -anptu  |  grep nginx

tcp     000.0.0.0:800.0.0.0:*     LISTEN     10441/nginx

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

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

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

Welcome to Nginx 192.168.4.5

二、用户认证及访问控制

通过Nginx实现Web页面的认证与访问控制,需要修改Nginx配置文件,在location容器中添加allow及deny语句实现访问控制,

添加auth语句实现用户认证。最后使用htpasswd命令创建用户及密码即可。

 修改Nginx配置文件

1)修改/usr/local/nginx/conf/nginx.conf

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

....

server {

    listen    80;

    server_name  localhost;

    auth_basic "Input Password:";  //认证提示符

    auth_basic_user_file pass.txt;  //认证密码文件

location /{

      root  html;

      index  index.html index.htm;

}

location /test {

        allow 192.168.4.205;  //访问控制,仅192.168.4.205可以访问

        deny all;   //拒绝所有

      index  index.html index.htm;

}

2)创建二级页面目录,并生成index.html文件

[root@svr ~]# mkdir /usr/local/nginx/html/test

[root@svr ~]# echo “test” >/usr/local/nginx/html/test/index.html

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

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

[root@svr ~]# htpasswd -cm /usr/local/nginx/conf/pass.txt tom

New password:

Re-type new password:

Adding password for user tom

4)重启Nginx服务

[root@svr ~]# /usr/local/nginx/sbin/nginx –s stop

[root@svr ~]# /usr/local/nginx/sbin/nginx

客户端测试

1)登录192.168.4.205主机进行测试

 http://192.168.4.5           //输入密码后可以访问

 http://192.168.4.5/test       //输入密码后可以访问

2)登录非192.168.4.205的其他任意主机测试

 http://192.168.4.5         //输入密码后可以访问

 http://192.168.4.5/test     //输入密码后无法访问

三、 Nginx虚拟主机

实现两个基于域名的虚拟主机,域名分别为www.tarena.com和bbs.tarena.com

域名为bbs.tarena.com的Web服务仅允许192.168.4.205访问

对域名为bbs.tarena.com的站点进行用户认证,用户名称为tom,密码为123456

对域名为www.tarena.com的站点进行SSL加密

修改Nginx配置文件,添加server容器实现虚拟主机功能;对于需要进行访问控制的虚拟主机添加allow和deny语句;

对于需要进行用户认证的虚拟主机添加auth认证语句;对于需要进行SSL加密处理的站点添加ssl相关指令。

1)修改Nginx服务配置,添加相关虚拟主机配置如下

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

....

server {

    listen    192.168.4.5:80;  //端口

    server_name  bbs.tarena.com;  //域名

allow 192.168.4.205;      //仅192.168.4.205可以访问

deny all;            //拒绝所有

auth_basic "Input Password:";  //认证提示符

    auth_basic_user_file pass.txt;  //认证密码文件

location /{

      root  bbs;//指定网站根路径

      index  index.html index.htm;

}

}

server {

    listen    192.168.4.5:443;

    server_name  www.tarena.com;

ssl   on;             //开启SSL

ssl_certificate     cert.pem;  //指定证书文件

ssl_certificate_key   cert.key;  //指定私钥文件

ssl_session_timeout  5m;

ssl_protocols  SSLv2 SSLv3 TLSv1;

ssl_ciphers  HIGH:!aNULL:!MD5;

ssl_prefer_server_ciphers  on;

location /{

root  www;             //指定网站根路径

index  index.html index.htm;

}

}

2)生成私钥与证书

[root@svr ~]# openssl genrsa -out cert.key 2048   //生成私钥

[root@svr ~]# openssl req -new -x509 -key cert.key -out cert.pem  //生成证书

[root@svr ~]# cp {cert.key,cert.pem}/usr/local/nginx/conf

3)创建网站根目录及对应首页文件

[root@svr ~]# mkdir /usr/local/nginx/{www,bbs}

[root@svr ~]# echo “www” >/usr/local/nginx/www/index.html

[root@svr ~]# echo “bbs” >/usr/local/nginx/bbs/index.html

4)重启nginx服务

[root@svr ~]# /usr/local/nginx/sbin/nginx –s stop

[root@svr ~]# /usr/local/nginx/sbin/nginx

 客户端测试

1)修改/etc/hosts文件,进行域名解析

[root@client ~]# vim /etc/hosts

192.168.4.5   www.tarena.com  bbs.tarena.com

2)登录192.168.4.205主机进行测试

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

[root@client ~]# firefox https://www.tarena.com       //信任证书后可以访问

3)登录非192.168.4.205的其他任意主机测试

[root@client ~]# firefox http://bbs.tarena.com       //无法访问

[root@client ~]# firefox https://www.tarena.com       //信任证书后可以访问

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:Nginx服务器的搭建及配置-创新互联
当前URL:http://ybzwz.com/article/dejosj.html