Nginx网站功能

一.基于授权的访问控制

1.基于授权的访问控制简介

       Nginx与Apahce 一样,可以实现基于用户授权的访问控制,当客户端想要访问相应网站或者目录时,要求用户输入用户名和密码才能正常访问,配置步骤与Apache基本一致。

2.基于授权的访问控制步骤

(1)使用 htpasswd生成用户认证文件

        使用 htpasswd生成用户认证文件,如果没有该命令,可使用yum安装httpd-tools软件包,用法与Apache认证时方式相同,如:hRasswd/usr/local/nginx/passwd.db test。在/usr/local/nginx/日录下生成了 passwd.db文件,用户名是 test,密码输入2次。在passwd.db 中生成用户和密码的密文。

(2)修改密码文件权限为 400,将所有者改为nginx,设置ginx的运行用户能够读取

(3)修改主配置文件 nginx.conf,添加相应认证配置项

(4)检测语法,重启服务

(5)用浏览器访问网址,检验控制效果

二.基于客户端的访问控制

1.基于客户端的访问控制简介

     基于客户端的访问控制是通过客户端IP地址,决定是否允许对页面访问。Nginx基于客户端的访问控制要比Apache简单。

denyIP/P段:拒绝某个|P或IP段的客户端访问。


allow IP/IP段:允许某个P或IP段的客户端访问。


规则从上往下执行,如匹配则停止,不再往下匹配。

三.Nginx 虚拟主机

      使用 Nginx搭建虚拟主机服务器时,每个虚拟 web站点拥有独立的“server{}”配置段,各自监听的IP地址、端口号可以单独指定,当然网站名称也是不同的。

1.基于域名的虚拟主机

(1)设置客户端域名解析

修改 hosts 文件,加入www.benet.com和www.accp.com 这两个域名

192.168.10.101 www.benet.com

192.168.10.101 www.accp.com

(2)准备各个网站的目录和测试首页

(3)修改配置文件

[root@localhost ~]# nginx -t
root@localhost ~l# systemctl restart nginx

2.基于 IP 的虚拟主机

(1)为服务器设置多个 IP 地址

(2)修改 Nginx的配置文件,使基于IP的虚拟主机生效

3.基于端口的虚拟主机

(1)选择系统中不使用的端口,多个端口映射到同一IP地址

四.LNMP 架构部署及应用

1.编译安装 MySQL 服务

[root@localhest mysql-5.6.36]# make && make install

(2)复制配置文件到/et下,并把MySQL 添加到服务

cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysaserver /etclinit.d/mysald
chmod +x /etc/re d/init.d/mysqld
chkeonfig --add mysgld
chkeonfig mysgld on
echo "PATH=$PATH:/usr/local/mysql/bin">> /etc/profile
./etc/profile

(3)初始化数据库

[root@localhost ~]# groupadd mysa!
[root@localhost ~]# useradd -M -s /sbin/nologin mysal -g mysa!
[root@localhost ~]# chown -R mysqlmysal /usr/local/mysg!
[root@localhost -]# /usr/locallmysql/scripts/mysgl install db -basedir-/usr/local/mysql
datadir-/usrlocal/mysgldata --user=mysql

(4)启动mysgl,并设置密码

[root@localhost ~]# systemetl start mysqld
[rget@lgcalhgst -]# mysgladmin -u root password '123.com'

2.安装PHP 解析环境

(1)编译安装PHP

[rgot@localhgst ~]# yum -y install gd libxml2-devel libipeg-devel libpng-devel

如果 mysg1用源码包安装的

[root@localhost ~]#cd php-5.5.38/ 
[root@localhost php-5.5.38]# ./configure 
--prefix=/usr/local/php5 \
--with-gd 
--with-zlik 
--with-mysal=/usr/local/mysa! 
--with-mysali-/usr/local/mysq/bin/mysgl config.
--with-config-file-path=/usr/local/php5 \
--enable-mbstring 
--enable-fpm \
--with-jpeg-dir=/usr/lib

如果 mysql用 yum 装的

[root@localhest php-5.5.38]# ./configure\
--prefix=/us!local/php5 \
--with-gd 
--with-zlik 
--with-mysal mysglind 
--with-mysali-mysaind 
--with-config-file-path=/usr/local/php5 \
--enable-mbstring 
--enable-fpm \
--with-jpeg-dirc/usr/lib

注意.

      --with-mysgli=mysglnd 需要用 ip,地址的方式连接数据库,既可以是 php 和 mysgl 装在同一个服务器,也可以装在不同的服务器。用127.0.0.1本地连接不需要为连接授权,用192.168.10.101连接需要授权,哪怕连接本地数据库。

        --with-mysgli=/usr/bin/mysgl config需要用 localhost 连接数据库,只能用于本地连接,也就是 php和mysg1装在同一个服务器上.

[root@localhest php-5.5.38]# make && make install

(2)安装后调整

[root@lacalhest php-5.5.38]# cp php.ini-development /usr/local/php5/php.ini
[root@localhest php-5.5.38]#In -s /usr/local/php5/bin/* /usr/local/bin/ 
[root@localhost php-5.5 .38]# In-s /usrlocal/php5/sbin/* /usrlocal/sbin/

(3)安装 ZendGuardLoader

[root@localhest ~]# tar -xxvf zend-loader-php5.5-linuxx86_64_update1.tar.gz
[root@lggalhest~]# cd zend-loader-php5.5-linux-x86 64/
[root@localhost zend-loader-php5.5-linux-x86 64]# cp ZendGuardLoader.so usr/local/php5/lib/php
[root@lgcalhest zend-loader-php5.5-linux-x86_64# vim /usr/local/php5/php.ini 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值