Linux(Centos7.6)Nginx安装部署并配置SSL证书(简单方便版)

简介

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

Nginx可以托管用户编写的WEB应用程序成为可访问的网页服务,同时也可以作为流量代理服务器,控制流量的中转。

Nginx在WEB开发领域,基本上也是必备组件之一了。

安装

Nginx同样需要配置额外的yum仓库,才可以使用yum安装

安装Nginx的操作需要root身份

1. 安装yum依赖程序
# root执行
yum install -y yum-utils
2. 手动添加,nginx的yum仓库

yum程序使用的仓库配置文件,存放在:/etc/yum.repo.d内。

# root执行
# 创建文件使用vim编辑
vim /etc/yum.repos.d/nginx.repo
# 填入如下内容并保存退出
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

通过如上操作,我们手动添加了nginx的yum仓库

3. 通过yum安装最新稳定版的nginx
# root执行
yum install -y nginx
4. 启动
# nginx自动注册了systemctl系统服务
systemctl start nginx		# 启动
systemctl stop nginx		# 停止
systemctl status nginx		# 运行状态
systemctl enable nginx		# 开机自启
systemctl disable nginx		# 关闭开机自启
5. 配置防火墙放行

nginx默认绑定80端口,需要关闭防火墙或放行80端口
比较推荐第一种方法,不关闭防火墙的话可能导致无法访问

# 方式1(推荐),关闭防火墙
systemctl stop firewalld		# 关闭
systemctl disable firewalld		# 关闭开机自启

# 方式2,放行80端口
firewall-cmd --add-port=80/tcp --permanent		# 放行tcp规则下的80端口,永久生效
firewall-cmd --reload							# 重新加载防火墙规则
6. 启动后浏览器输入Linux服务器的IP地址或主机名即可访问

http://192.168.119.123 或 http://centos

ps:80端口是访问网站的默认端口,所以后面无需跟随端口号

显示的指定端口也是可以的比如:

  • http://192.168.119.123:80
  • http://centos:80

至此,Nginx安装配置完成。

image-20221018143113053

7. Nginx的文件路径

1.默认的根目录在: /usr/share/nginx/html
2.配置文件目录在: /etc/nginx/nginx.conf

在这里插入图片描述
配置文件还include了 /etc/nginx/conf.d/*.conf;意思是引用conf.d目录下的所有以.conf结尾的文件,也就是 default.conf 文件

8. 配置SSL证书

SSL证书的话需要在服务器官网申请,如果只是用于自己测试的虚拟机这种,证书不需要配置。

1. 服务器的证书申请
1.1 腾讯云证书申请
  • 打开右上角控制台,进入控制台直接搜索SSL证书,进入SSL证书控制台
    在这里插入图片描述

  • 申请免费证书
    在这里插入图片描述

  • 按照要求填写信息
    在这里插入图片描述

  • 根据操作指引进行解析,并验证在这里插入图片描述

  • 申请完成后,回到 我的证书 并进行下载
    在这里插入图片描述

  • 下载选择nginx下载即可
    同时如果是阿里云操作基本一致,申请SSL的免费证书即可

2. 查看nginx配置文件
cat /etc/nginx/nginx.conf
user  nginx;																	#work进程用户(打工者),root是老板
worker_processes  auto;															#work进程数(几个打工者)
error_log  /var/log/nginx/error.log notice;										#错误日志文件路径
pid        /var/run/nginx.pid;	
events {
    worker_connections  1024;   												#一个work可以处理1024个进程
}
http {
    include       /etc/nginx/mime.types;   										#加载一个配置文件
    default_type  application/octet-stream;  #									#默认识别文件类型
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '   #定义日志格式
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';					
    access_log  /var/log/nginx/access.log  main; 								#指定日志路径
    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65; 														#超时时间
    #gzip  on;
    include /etc/nginx/conf.d/*.conf;   										#扩展配置(虚拟主机配置文件) 
}

拓展的 default.conf配置文件

cat /etc/nginx/conf.d/default.conf
server {
    listen       80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/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   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

配置SSL证书需要在第一步申请的证书文件,下载的压缩包中有一个 pem文件 和 key 文件需要使用
进行配置,主要更改default.conf文件即可

配置完成后的default.conf,因为原来的配置文件好多已经注释掉的可以去掉影响视线

server {
    listen 80;
    server_name yourdomain; #需要将yourdomain替换成证书绑定的域名。
    rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
    location / {
        root   /usr/share/nginx/html;  #网站根目录
        index  index.html index.htm;
    }
}
#以下属性中,以ssl开头的属性表示与证书配置有关。
server {
    listen 443 ssl;
    #配置HTTPS的默认访问端口为443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    server_name yourdomain;
    root html;
    index index.html index.htm;
    ssl_certificate 这里需要填写 SSL 证书的 pem 文件的存储路径;  
    ssl_certificate_key 这里需要填写 SSL 证书的 key 文件的存储路径; 
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    #表示使用的加密套件的类型。
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型,您需要自行评估是否配置TLSv1.1协议。
    ssl_prefer_server_ciphers on;
    location / {
        root   /usr/share/nginx/html;  #网站根目录
        index  index.html index.htm;
    }
}

至此,nginx配置完成。

  • 32
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
CentOS 7.6 是一款流行的 Linux 操作系统,大多数用户都希望使用 Nginx 作为其 Web 服务器和反向代理服务器。虽然可以通过 yum 安装 nginx,但源码安装可以为用户提供更多的灵活性和自定义选项。 以下是在 CentOS 7.6 上源码安装 nginx 的步骤: 准备环境: 首先,需要下载最新本的 Nginx 源代码,并且将其解压到一个目录,然后需要安装一些依赖项: sudo yum install gcc-c++ pcre-devel openssl-devel 安装 Nginx: 进入 Nginx 源码目录,运行以下命令来编译和安装 nginx: ./configure --prefix=/usr/local/nginx --with-http_ssl_module make && sudo make install 此命令将会将 nginx 安装到 /usr/local/nginx 目录下,并且启用了 HTTPS。 配置 Nginx: 接下来,需要编辑 Nginx 配置文件,该文件位于 /usr/local/nginx/conf/nginx.conf: sudo vi /usr/local/nginx/conf/nginx.conf 根据自己的需要进行修改,保存并退出该文件。 启动 Nginx: 最后,启动 Nginx: sudo /usr/local/nginx/sbin/nginx 查看 Nginx 是否成功运行,可以使用以下命令: sudo ps aux | grep nginx 如果看到有多个 Nginx 进程运行,则说明 Nginx 已成功启动。 总结: 源码安装 Nginx 可以为用户提供更多的自定义选项和灵活性。用户只需要准备好环境,下载源代码,进行编译,配置和启动即可。此过程需要一定的技术知识和经验,因此建议用户了解 Nginx 的基本原理并遵循最佳实践。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奔跑的菜鸟Run

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值