nginx 安装

本文详细介绍了Nginx的安装过程,包括使用源码编译安装、用户认证、基于域名的虚拟主机设置以及SSL加密配置。通过实例演示了如何配置Nginx以支持SSL访问和多域名管理。
摘要由CSDN通过智能技术生成

Nginx 简介

  • nginx一种十分轻量级的http服务器
  • 一种高性能的HTTP和反向代理服务器,同时是一个IMAP/POP3/SMTP 代理服务器
  • 其中官网网站

安装Nginx

使用源码编辑安装

#提前安装相关工具软件包
yum -y install net-tools tar unzip gcc make pcre-devel openssl-devel httpd-tools  # gcc make 编译工具   pcre-devel 开发用的正则表达式依赖包 (提供.h库)  openssl-devel  开发用的ssl加密依赖包(提供.h库)  net-tools  网络相关软件包 httpd-tools 提供htpasswd命令的相关工具

#解压nginx包
tar -xf nginx-1.22.1.tar.gz
#进入nginx目录
cd nginx-1.22.1
#生成适合当前系统的MakeFile文件,用于后续的编辑和安装
./configure --prefix=/usr/local/nginx  #指定安装路径
--user=nginx	#指定用户
--group=nginx  #指定用户组
--with-http_ssl_module 	#开启ssl加密功能

make  # 编译
make install #安装

#进入nginx工作路径
cd /nsr/local/nginx

#其中
conf/nginx.conf 是配置文件  其备份默认配置文件在conf/nginx.conf.default 
pass 是用户认证记录文件
html/index.html 是默认网页访问路径
sbin/nginx  是主程序

nginx相关用法

/usr/local/nginx/sbin/nginx #启动服务
/usr/local/nginx/sbin/nginx -s stop #关闭服务  其中 -s 表示发送信号sign
/usr/local/nginx/sbin/nginx -s reload #重加载配置文件
/usr/local/nginx/sbin/nginx -V #查看nginx信息,可以查看到./configure 配置的信息

ss -ntulp # ss 查看系统启动的端口信息 -n 以数字格式显示端口号  -t/u 显示TCP和UDP连接的端口  -l 显示服务正在监听的端口信息,比如httpd启动后,一直监听80端口动态 -p 显示监听端口的服务名称是什么(程序名) -a 显示所有端口信息

#测试

curl  http://192.168.99.5  #出现nginx欢迎界面

加入用户认证(ssl加密)

修改配置文件 /usr/local/nginx/sbin/nginx/conf/nginx.conf
添加如下两行

        auth_basic "Input Password:";                        #认证提示符信息
        auth_basic_user_file  "/usr/local/nginx/pass";        #认证的密码文件
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;
        }
  }

htpasswd -c /usr/local/nginx/pass tom #创建账户和密码,并记录在/usr/local/nginx/pass 文件中
/usr/local/nginx/pass  -s reload #重新加载配置才可生效

#测试
curl http://192.168.99.5  #会提示认证提示,输入账户密码,测试过程中需要清除缓冲保证实验顺利进行

实现基于域名的虚拟主机

实现两个基于域名的虚拟主机,分别为www.a.com,www.b.com,可通过两个域名解析为192.168.99.5进行访问
提前配置/etc/hosts 文件

#追加
192.168.99.5 www.a.com www.b.com

添加虚拟站点

    [root@proxy nginx]# vim /usr/local/nginx/conf/nginx.conf
    http {
        .. ..
        server {
            listen       80;                                      #端口
            server_name  www.b.com;                    #新虚拟主机定义域名
            location / {
                root   html_b;                                    #指定网站根路径
                index  index.html index.htm;            #默认页面
            }
           
        }
        server {
            listen  80;                                        #端口
            server_name  www.a.com;                     #默认的虚拟主机,修改域名
            location / { 
                root   html;                                 #指定网站根路径
                index  index.html index.htm;
            }
        }
    }
    #测试
    通过curl访问两个不同域名看到两个不同的页面

#修改listen 80 为 listen 122 监听端口
可通过哦curl ip:122 访问

配置SSL虚拟主机

对ssl处理的站点添加ssl相关指令,设置对应的非对称加密(私钥,密钥)
修改nginx.conf配置文件

    [root@proxy nginx]#vim  /usr/local/nginx/conf/nginx.conf
    … …    
    server {
            listen       443 ssl;
            server_name            localhost;
            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   https;                        #加密网站根目录
                index  index.html index.htm;
            }
        }
[root@proxy nginx]#openssl genrsa > conf/cert.key            #生成私钥
[root@proxy nginx]#openssl req -x509 -key conf/cert.key > conf/cert.pem    #生成公钥(证书)

[root@proxy nginx]# echo "https~~~~ "  > https/index.html     #创建安全网站的页面
[root@proxy nginx]# sbin/nginx -s reload    #重加载配置
[root@proxy nginx]# curl  -k  https://192.168.99.5     #测试,-k是忽略安全风险
https~~~~      #看到这个内容就说明实验成功
  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值