Nginx的安装,升级以及简单使用

Nginx的安装

安装1.10.3

yum -y install gcc pcre-devel openssl-devel   # 安装相关依赖包
useradd -s /sbin/nologin nginx   #创建程序用户
tar -xf  /root/lnmp_soft/nginx-1.10.3.tar.gz
cd  nginx-1.10.3
./configure --prefix=/usr/local/nginx  --user=nginx  --group=nginx  --with-http_ssl_module --with-stream --with-http_stub_status_module
make && make install #编译并安装

其中

–prefix=/usr/local/nginx 指定安装路径
–user=nginx 指定用户
–group=nginx 指定基本组
–with-http_ssl_module 开启SSL加密功能
–with-stream 开启ngx_stream_core_module模块
–with-http_stub_status_module 开启状态页面模块

相关指令

/usr/local/nginx/sbin/nginx                    #启动服务
/usr/local/nginx/sbin/nginx -s stop            #关闭服务
/usr/local/nginx/sbin/nginx -s reload        #重新加载配置文件
/usr/local/nginx/sbin/nginx -V                #查看软件信息

为了程序调用方便,建立软连接,创建快捷方式

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

后面就可以直接调用nginx

升级Nginx服务器

(1)编译新版本nginx软件

tar  -zxvf   nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure  --prefix=/usr/local/nginx --user=nginx --group=nginx  --with-http_ssl_module --with-stream  --with-http_stub_status_module
make    #编译源码文件,编译成可执行文件

(2)备份老的nginx主程序,并使用编译好的新版本nginx替换老版本

mv /usr/local/nginx/sbin/nginx  /usr/local/nginx/sbin/nginxold
cp objs/nginx  /usr/local/nginx/sbin/         #拷贝新版本
make upgrade     #升级
nginx -t    #测试
nginx –v   #查看版本

(3)客户端访问测试

curl url

Nginx用户认证

访问Web页面需要进行用户认证

(1)修改配置文件

vim /usr/local/nginx/conf/nginx.conf

往server模块中添加两句配置

auth_basic
auth_basic_user_file

http{
    ... ...
    server_tokens off;  #关闭nginx版本显示
    ... ... 
    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;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
         }

    }
}

(2)装包

yum -y install httpd-tools
#创建密码文件,创建一个登录用户,回车输入两次密码,追加第二个用户的话,去掉-c即可
htpasswd -c /usr/local/nginx/pass tom 

(3)重启服务

nginx -s reload

#请先确保nginx是启动状态,否则运行该命令会报错,报错信息如下:
#[error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)

配置虚拟web主机

1.配置基于域名的虚拟主机

(1)修改配置文件,更改server_name以及location–>root

vim /usr/local/nginx/conf/nginx.conf
server {
        listen    80;
        server_name  www.a.com;
        auth_basic "Input Password:"; #认证提示符,可随意填写任何提示语
        auth_basic_user_file "/usr/local/nginx/pass"; #认证密码文件
        location / {
            root   html;
            index  index.html index.htm;
        }
 }
#添加一个server模块
server {
        listen    80;
        server_name  www.b.com;
        charset utf-8;  #支持显示中文
        location / {
            root   www;
            index  index.html index.htm;
        }
 }
mkdir /usr/local/nginx/www    #创建b网站web访问根目录
echo "www.b.com" > /usr/local/nginx/www/index.html   #创建一个测试的首页文件
nginx -s reload

上面配置的作用就是配置了两个基于域名的虚拟主机,www.a.com 跟 www.b.com,其中 www.a.com 配置了用户认证

2.基于端口的虚拟主机
server {
        listen       8080;                        #端口
        server_name  web1.example.com;          #域名
        ......
}
server {
        listen       8000;                         #端口
        server_name  web1.example.com;           #域名
      .......
}
3.基于IP的虚拟主机
server {
        listen       192.168.0.1:80;              #IP地址与端口
        server_name  web1.example.com;          #域名
  ... ...
}
server {
        listen       192.168.0.2:80;             #IP地址与端口
        server_name  web1.example.com;
... ...
}
4.SSL虚拟主机

(1)生成私钥与证书

 cd /usr/local/nginx/conf
 openssl genrsa > cert.key                            #生成私钥
 openssl req -new -x509 -key cert.key > cert.pem      #生成证书

(2)修改Nginx配置文件,设置加密网站的虚拟主机

vim  /usr/local/nginx/conf/nginx.conf
… …    
server {
        listen       443 ssl;
        server_name        www.c.com;
        ssl_certificate      cert.pem;         #这里是证书文件
        ssl_certificate_key  cert.key;         #这里是私钥文件
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
        location / {
            root   html;
            index  index.html index.htm;
        }
    }

(3)重启nginx服务

nginx -s reload

(4)客户端验证

 firefox https://www.c.com            //信任证书后可以访问

文中所需软件包在

Github

你可能感兴趣的:(云计算,Linux云计算)