源码包安装:

  • 安装常见依赖包

yum-y install gcc pcre-devel openssl-devel

  • 创建一个普通用户,指定普通用户来安装nginx 增强安全性

useradd -s /sbin/nologin nginx

  • 解压安装包
tar -xvf nginx-1.8.0.tar.gz 
cd nginx-1.8.0
  • 指定编译参数

./configure --prefix=/usr/local/nginx(安装路路径) --user=nginx(指定用户) --group=nginx(指定组)
make && make install

  • 创建一个服务的快捷方式

ln -s /usr/local/nginx/sbin/nginx /usr/sbin/

  • 启动服务
nginx 启动
nginx -s stop  关闭服务
nginx -s reload 重新加载配置文件
nginx -V  产看软件信息(安装了那些模块)
  • 查看服务是否启动,监听端口是多少

netsta -anptu | grep nginx

升级(加装)nginx 服务器

  1. 解压软件,并cd进去
  2. ./configure --with-http_ssl_module 安装ssl加密模块(./configure --help | grep ssl 通过help查询)
  3. make 只编译软件,不要make install 安装 因为一旦安装后,就会覆盖升级前的配置;
  4. 备份(重命名)老的nginx主程序,把刚刚编译出来的新主程序替换老程序;备份:mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginxold,把新的复制进去 cd 到解压的软件中 然后执行 cp objs/nginx /usr/local/nginx/sbin
  5. 起服务 nginx -s reload
  6. 验证 netstat -antpu | grep nginx

用户认证

1.用户认证的作用:当访问一个网页时,需要提交用户名和密码认证;
2.修改nginx配置文件:vim /usr/local/nginx/conf/nginx.conf (修改时用;结尾)

    server {
            listen 80; (通过80端口监听)  
            server_name www.a.com; (设置网站域名)
            auth_basic "renzheng";  (认证窗口提示文字)
   auth_basic_user_file "/usr/local/nginx/pass"; (指定认证用户密码文件路径)

   location / {
           root  html;(网页存放路径,这里路径是相对路径)
           index index.html index.htm;   

3.创建刚在配置文件中写入的密码认证文件;
生成密码文件需要安装httpd-tools包,然后使用命令(交互式)htpasswd创建密码文件;
htpasswd -c /usr/local/nginx/pass tom (创建tom用户名,密码根据提示输)
首次添加用户要使用-c 的选项,当我门再次添加别的用户时千万不要在用-c的选项,一旦使用会导致覆盖之前的用户;直接用htpasswd /usr/local/nginx/pass zhangsan
4.重启nginx服务(重新读取一边配置文件)
nginx -s reload

基于域名的虚拟主机(就是用一台服务器提供多个网站供用户访问)

1.修改配置文件vim /usr/local/nginx/conf/nginx.conf (有模版直接用,取消注释)

server {
listen  80;
server_name www.a.com;
auth_basic "qingrenzhneg:";
auth_basic_user_file "usr/local/nginx/pass"
location / {
root html;
index index.html index.htm;
}
}
......
server {
listen   80;
server_name www.b.com;
location / {
root web;
index index.html index.htm;
}
}

2.创建www.b.com的网页目录和网页
3.重启服务 nginx -s reload
4.用客户端验证
由于没有DNS服务器解析域名需要采用另外一种办法:修改客户机的/etc/hosts 文件
手动在这个文件中添加;他的优先级还高于DNS的优先级;
vim /etc/hosts 添加 服务器地址 域名
192.168.4.5 www.a.com www.b.com

SSL安全的虚拟主机

1.首先确认nginx是否安装--with-http_ssl-module 加密模块
nginx -V 查看nginx软件详细信息
2.生成私钥和证书,需要把生成的文件放入指定路径下:cd /usr/local/nginx/conf
使用openssl命令生成文件
openssl genrsa > my.key (生成私钥)
openssl req -new -x509 -key my.key > my.crt (生成证书)
在生成证书的时候会提示输入:国家 省份 城市 公司 部门 主机名 邮箱
3.修改配置文件,调用私钥和证书实现加密

    vim  /usr/local/nginx/conf/nginx.conf (有模版直接用,取消最后注释)
server {
listen  443 ssl;
server_name  www.c.com;
ssl_certificate       my.crt;
ssl_certificate_key   my.key;
.......
location / {
root html;
index index.html index.htm;
}
}

4.重启服务nginx -s reload
5.客户端验证,当客户端访问服务器时,服务器会自动传输一个证书给到客户端的