linux学习之安装Nginx

本文介绍Nginx服务器的配置方法,包括虚拟主机设置、用户认证及HTTPS加密网站的搭建过程。涵盖Nginx的基本概念、安装、配置文件结构、虚拟主机类型及SSL证书的生成与应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Nginx简介
–俄罗斯人编写的轻量级HTTP服务器
–是一个高性能的http和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器。
–官网:http://nginx.org/

Nginx配置文件及目录
安装目录 /usr/local/nginx
主配置文件 /usr/local/nginx/conf/nginx.conf
网页根目录 /usr/local/nginx/html
日志文件 /usr/local/nginx/logs
启动脚本 /usr/local/nginx/sbin/nginx

Nginx进程管理
启动服务 /usr/local/nginx/sbin/nginx
常用选项:
-V:查看编译参数
-t:测试默认配置文件
-c:制定配置文件,启动服务

Nginx配置文件结构
全局配置

http{
    ……
    server{
          ……
          location /{
                 ……
          }
    }
}

全局选项

user nginx; 					     #进程所有者
worker_processes 1;                  #启动进程数量
error_log /var/log/nginx/error.log;  #日志文件
pid /var/run/nginx.pid               #PID文件
events {
worker_connections 1024;             #单个进程最大并发量
}

配置容器

http {
……
server {                  #定义虚拟主机
  listen 80;
  server_name localhost;
  location / {            #发布目录
    root html;
    index index.html index.html;
    }
  }
}

用户认证

location / {
    root html;
    index index.html;
    auth_basic "auth-domain";
    auth_basic_user_file /user/local/nginx/pass;
}
##yum -y install httpd-tools
##htpasswd -c /usr/local/nginx/pass amin    //创建用户

三种虚拟主机(域名、IP地址、端口)

基于域名的虚拟主机
server {
    listen 80;
    server_name www.1.com;       #域名A
    ...
}
server {
    listen 80;
    server_name www.2.com;       #域名B
    ...
}
……
基于端口的虚拟主机
server {
    listen 8080;				#端口
    server_name  www.1.com;     #域名
    ...
}
server {
    listen 8000;                #不同的端口号
    server_name www.1.com;      #相同的域名
    ...
}
基于IP的虚拟主机
server {
    listen 192.168.0.1:80;      #ip与端口
    server_name www.1.com;      #域名
    ……
     location / {
    	root www;               #访问192.168.0.1时的根目录 
    	index index.html index.html;
    }
}
server {
    listen 192.168.0.2:80;
    server_name www.1.com;
    ……
    location / {
    	root aaa;               #访问192.168.0.2时的根目录 
    	index index.html index.html;
    }
}

nginx的HTTPS加密网站

秘钥:(RAR、ZIP压缩等单机加密)
AES
DES
非对称秘钥:(https、ssh等网络加密)
RSA
DSA

Hash值:(数据完整性校验、文件秒传)
MD5
SHA256
SHA512

搭建Nginx服务
1、编译安装nginx

yum -y install gcc pcre-devel openssl-devel  #安装编译所需依赖包
useradd nginx #添加名为nginx的用户
./configure \                
> --prefix=/usr/local/nginx \        #指定安装目录
> --user=nginx \						  #指定账户名称
> --group=nginx \                       #指定组名称
> --with-http_ssl_module \         #支持加密功能(添加模组模组)
> --with-stream                          #支持tcp/udp代理功能

2、安装

make && make install

升级Nginx
1、解压新版本,进入目录后

 ./configure \
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --with-http_ssl_module

2、make(先不要make install安装覆盖!)

make

3、将旧启动文件作为备份

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/oldnginx 

4、添加新版本启动脚本

cp objs/nginx /usr/local/nginx/sbin/

5、升级Nginx

make upgrade
/usr/local/nginx/sbin/nginx -v  #查看版本```

步骤一:配置SSL虚拟主机

1)生成私钥与证书

[root@proxy ~]# cd /usr/local/nginx/conf
[root@proxy ~]# openssl genrsa > cert.key                            //生成私钥
[root@proxy ~]# openssl req -new -x509 -key cert.key > cert.pem      //生成证书
2)修改Nginx配置文件,设置加密网站的虚拟主机

[root@proxy ~]# 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;
        }
    }
步骤二:客户端验证

1)修改客户端主机192.168.4.100的/etc/hosts文件,进行域名解析

[root@client ~]# vim /etc/hosts
192.168.4.5    www.c.com  www.a.com   www.b.com
2)登录192.168.4.100客户端主机进行测试

[root@client ~]# firefox https://www.c.com            //信任证书后可以访问
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值