栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Centos7.5源码安装Nginx、虚拟主机、SSL

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Centos7.5源码安装Nginx、虚拟主机、SSL

一、基础安装 1、官方源码包下载地址

nginx: download

wget https://nginx.org/download/nginx-1.21.6.tar.gz

2、安装依赖软件与源码安装
#gcc            //编译器
#pcre-devel     //pcre来解析正则表达式,所以需要在linux上安装pcre库
#openssl-devel  //openssl的库文件依赖包
yum -y install gcc pcre-devel openssl-devel #安装依赖软件包
自行使用wget或者网页下载包
mkdir /opt/nginx
cd /opt/nginx
tar -xf nginx-1.21.6.tar.gz  #以1.21.6为例
cd nginx-1.21.6
 ./configure  
--prefix=/usr/bin/nginx       #指定安装目录
--user=nginx                  #指定账户名称
--group=nginx                 #指定组名称
--with-http_ssl_module        #支持加密功能
--with-http_stub_status_module #支持状态查询
nginx配置文件位置说明
/usr/local/nginx/安装目录
config/nginx.conf主配置文件
html网页目录
logs日志文件
sbin/nginx启动脚本
3、启动Nginx服务
常用选项释义
-V查看编译参数
-c指定配置文件,启动服务
-t测试配置文件语法是否有错误

/usr/bin/nginx/sbin/nginx           #启动nginx
/usr/bin/nginx/sbin/nginx -s reload #重新加载配置
/usr/bin/nginx/sbin/nginx -s stop   #关闭服务
curl 127.0.0.1                    #访问测试,可正常显示欢迎界面
4、查看服务相关进程及端口
ps aux | grep nginx            #查看进程
netstat -tunalp | grep nginx   #查看监听端口
ss -tunlp | grep nginx         #查看监听端口
grep -w 80 /etc/services       #通过端口查看那个服务产生的
5、启动nginx排错

 问题1:未创建指定用户

/usr/bin/nginx/sbin/nginx         #启动nginx
nginx: [emerg] getpwnam("nginx") failed #安装配置nignx,指定Nginx的系统用户,但是用户不存在出现的问题
useradd nginx    #创建指定的用户即可解决
/usr/bin/nginx/sbin/nginx -t  #再检测状态正常

问题2:端口被占用

[root@localhost ~]# /usr/bin/nginx/sbin/nginx    #80端口被占用,停掉http服务即可
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
systemctl stop httpd.service
二、Nginx配置解析 1、配置容器
vim /usr/bin/nginx/conf/nginx.conf  #配置文件
server {                            #每一个server代表一个网站服务器
        listen       80;            #网站监听的端口
        server_name  localhost;     #域名
        auth_basic "auth-domain";   #代表输入密码和用户名提示框的信息
        auth_basic_user_file "/usr/local/nginx/pass"; #密码文件存放的位置
        location / {
            root   html;                 #代表网站根路径(此处相对路径是对应软件安装位置)
            index  index.html index.htm; #代表网站默认首页,可有多个,当第一个找不到依次往后面找,用户没有指定具体使用哪个界面,则使用默认首页内容
        }
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
2、用户认证
yum-y install httpd-tools    #安装并发测试工具
htpasswd -c /usr/bin/nginx/pass admin  #创建认证用户(-c代表之前没有pass文件,所以第一次要加;之后再创建就不用再加-c;pass代表密码文件,admin代表用户)
New password:             #根据提示设置密码
Re-type new password: 
/usr/local/nginx/sbin/nginx  -s   reload #重新加载配置文件(必须要属于启动状态,-s不要关nginx,立刻生效)

 验证测试:

三、Nginx虚拟主机的三种模式 1、基于域名的虚拟主机(域名有区别)

  

vim /usr/bin/nginx/conf/nginx.conf   #修改配置文件
    server {
        listen       80; 
        server_name  web1.nginx.cn;  #域名
        auth_basic "auth-domain";    #认证提示符
        auth_basic_user_file "/usr/local/nginx/pass";    #密码提示文件
        location / { 
            root   html;
            index  index.html index.htm;
        }   
        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        #   
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }   
    server {
        listen       80;            #端口
        server_name web2.nginx.cn;  #域名
        location / {
            root   web;             #指定网站根路径
            index  index.html index.htm;
        }
    }

mkdir /usr/bin/nginx/web
echo "web:hello world" > /usr/bin/nginx/web/index.html #新建索引文件
/usr/bin/nginx/sbin/nginx -s reload                    #重新加载配置

 windows界面操作:

 如果使用带图形的界面可以使用系统自带的火狐浏览器进行测试,修改将域名解析写入/etc/hosts文件中:

 echo "192.168.2.105 web1.nginx.cn web2.nginx.cn" >> /etc/hosts

2、基于端口的虚拟主机(监听端口不一样)

3、基于IP的虚拟主机 (IP不一样)

四、HTTPS加密网站 1、秘钥
常见秘钥算法
1.对称加密 :AES、DES

2.非对称加密 :RSA、DSA

3.Hash值:MD5、SHA256、SHA512
2、SSL虚拟主机
cd /usr/bin/nginx/conf/    
openssl genrsa > cert.key          #生成私钥
openssl req -new -x509 -key cert.key > cert.pem  #生成证书
vim /usr/bin/nginx/conf/nginx.conf #修改配置文件开启SSL
    server {
        listen       443 ssl;                #开启SSL
        server_name  web.test.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;
        }
    }

/usr/bin/nginx/sbin/nginx -s reload #重新加载配置文件
echo "192.168.2.105 web.test.com" >> /etc/hosts  #修改域名解析配置文件或者修改windos的文件

在图形界面中下使用浏览器访问:https://web.test.com进行测试

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/913663.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号