Nginx配置解析
Nginx的主配置文件为/usr/local/nginx/conf/nginx.conf,配置语句的格式为“关键字 值;”(末尾以分号表示结束),以“#”开始的部分表示注释。配置结构如下:
http{
... …
server {
… …
location / {
… …
}
}
}
其中,HTTP配置使用“http { }”界定标记,虚拟Web主机、PHP解析等一系列设置,其中大部分配置语句都包含在子界定标记“server { }”内。
http {
……
server { //定义虚拟主机
listen 80;
server_name localhost;
location / { //发布目录
root html;
index index.html index.htm;
}
}
}
上述配置中,listen语句允许同时限定IP地址,采用“IP地址:端口”形式;root语句用来设置特定访问位置(如“location /”表示根目录)的网页文档路径,默认为Nginx安装目录下的html/子目录,根据需要可改为/var/www/html等其他路径。
用户认证
1、配置Nginx用户认证
修改配置文件/usr/local/nginx/conf/nginx.conf:
[root@proxy nginx]# 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、安装httpd-tools,生成密码文件,使用htpasswd命令创建账户文件:
[root@proxy nginx]# yum -y install httpd-tools
[root@proxy nginx]# htpasswd -c /usr/local/nginx/pass lisi //创建密码文件
New password: //密码:123456
Re-type new password:
Adding password for user lisi
[root@proxy nginx]# /usr/local/nginx/sbin/nginx -s reload //重新加载配置文件
查看该网站目前需要使用账号与密码登录
可以使用 htpasswd 命令追加认证账户:
[root@proxy ~]# htpasswd /usr/local/nginx/pass zhangsan //追加用户,不使用-c选项
New password:
Re-type new password:
Adding password for user zhangsan
[root@proxy nginx]# /usr/local/nginx/sbin/nginx -s reload //重新加载配置文件