IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> CentOS 8 部署Nginx -> 正文阅读

[系统运维]CentOS 8 部署Nginx

CentOS 8 部署Nginx

查看源图像

图源:nginx状态码详解 | 小爱网址导航 (it7a.com)

安装

虽然说可以通过yum直接从自带的仓库傻瓜式安装,但nginx往往需要重新编译以添加诸如SSL等模块,所以从官网下载源码编译安装是更稳妥的做法。

可以从官网的nginx: download这个页面下载相应的Nginx版本:

image-20220618104540510

我这里为了和公司测试机上版本保持一致,选择了1.20.2,自己用的话还是选择最新的Stable版本即可。

使用wget或者其它工具下载到服务器:

cd /usr/src
wget http://nginx.org/download/nginx-1.20.2.tar.gz

解压并进入源码目录:

tar -zxvf nginx-1.20.2.tar.gz
cd nginx-1.20.2/

设置安装参数:

./configure --prefix=/usr/local/nginx --with-http_ssl_module

这里--prefix指定的是安装目录,同样的,根据FHS推荐,最好安装在/usr/local/nginx下。--with-http_ssl_module是为了将SSL模块编译进去,以便使用OpenSSL证书提供HTTPS支持,当然如果不需要也可以不加。

创建安装目录:

mkdir /usr/local/nginx

编译并安装:

make
make install

为了方便使用,还需要创建软链接:

ln -s /usr/local/nginx/conf/ /etc/nginx
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
  • 需要注意的是,将conf目录映射到/etc/nginx下时需要确保/etc/nginx目录不存在,否则就会映射到/etc/nginx/conf目录。
  • 如果这里不做映射,就会导致后边无法顺利申请OpenSSL证书。

一切都OK后可以通过nginx -v查看是否安装完毕。

配置

Nginx的主配置文件位于安装目录的./conf/nginx.conf

Nginx安装目录本身就有配置示例,这里再提供一个个人使用的配置示例:


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;        
    default_type  application/octet-stream;

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

  
server {
	listen 80;
	server_name xx.xx.xx.xx;
	location /api {			 
		add_header Access-Control-Allow-Origin *;
		proxy_pass http://127.0.0.1:8080/api/;
		proxy_redirect default;
		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
	}
			
	location / {  
		root  /mnt/xxxx/dist/;
		index index.html;
		try_files $uri $uri/ /index.html =404;
	}
	
	error_page   500 502 503 504  /50x.html;
	location = /50x.html {
					
		root 	html;
	}
	
	location /upload {
		alias /mnt/xxxx/upload/;
		autoindex on;
	}

	location /h5 {
		alias /mnt/xxxx/h5/;
		index index.html;
	
	}
}
    include conf.d/*;
}

这里配置的是一个前后端分离的Spring Boot项目,代码部署在/mnt/xxxx下,后台接口的访问路径是/api,前端代码的静态路径是/h5/,前者是移动端,后者是后台。

这里后台接口因为是用Spring Boot自带的Nginx独立运行并伺服8080端口,所以这里Nginx做了反向代理。将请求转发到127.0.0.1:8080,当然用localhost:8080也是一样的。

总之,配好了适合自己项目的配置文件后就可以启动Nginx了:

nginx

如果一切正常的话可以用浏览器看到网站了。

证书

要申请OpenSSL证书可以参考这篇文章:

按文章内容一步步做即可。

如果出现问题可以检查:

  • Nginx是否正常运行。
  • 是否对Nginx的应用和配置目录添加了软链接。

最后修改配置使用证书可以参考:

server {
        listen       443;

        ssl on;
        server_name  kevin.xxx.com;

        ssl_certificate /etc/letsencrypt/live/kevin.xxx.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/kevin.xxx.com/privkey.pem;

        location / {
            root   /opt/www/test;
            index  index.html index.htm;
        }
}

在原本监听80端口的基础上额外配置一个监听443的服务即可,当然更恰当的做法是让80端口的服务自动跳转到443端口以强制客户端使用HTTPS。

修改好配置文件后可以通过以下命令检查是否正确:

nginx -tc /etc/nginx/nginx.conf

如果有错误,按相应的错误信息排查即可。

如果启动Nginx出现问题,可以查看Nginx的相应日志,Nginx的日志位于/var/log/nginx下。

参考资料

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-26 17:06:53  更:2022-06-26 17:07:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 1:51:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码