安全运维-Nginx

1.1.在线安装

在银河麒麟操作系统上安装 Nginx 有多种方式,最常见的是通过包管理器 yum 进行安装。这种方式简单快捷,适合大多数用户。

在安装之前,建议先更新系统的软件包列表,以确保安装的软件包是最新版本:

复制代码
sudo yum update

注意:这里更新的软件包较多,时间较长。

使用以下命令安装 Nginx

复制代码
sudo yum install -y nginx

安装完成后,启动 Nginx 服务:

复制代码
# 为了确保 Nginx 在系统启动时自动运行,可以设置开机自启
sudo systemctl enable nginx
# 启动 Nginx 服务
sudo systemctl start nginx
sudo systemctl status nginx

将nginx默认访问端口80进入到防火墙中。

复制代码
firewall-cmd --zone=public --add-port=80/tcp --permanent &&
firewall-cmd --reload && 
firewall-cmd --list-port

打开浏览器,访问服务器的 IP 地址,如果看到 Nginx 的默认欢迎页面,则说明安装成功。

1.2.源码编译安装

如果需要自定义配置或安装特定版本的 Nginx,可以使用源码编译的方式。

在编译 Nginx 之前,需要安装一些必要的编译工具和库:

复制代码
sudo yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel

Nginx 官方网站下载源码包:

复制代码
wget http://nginx.org/download/nginx-1.26.2.tar.gz

解压下载的源码包:

复制代码
# 解压nginx
tar -zxvf nginx-1.26.2.tar.gz
# 进入nginx目录
cd nginx-1.26.2

使用 ./configure 命令配置 Nginx 的编译选项。例如,启用 SSL 支持和状态模块:

复制代码
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module

编译并安装 Nginx

复制代码
make && make install

启动 Nginx 服务:

复制代码
/usr/local/nginx/sbin/nginx

打开浏览器,访问服务器的 IP 地址,如果看到 Nginx 的默认欢迎页面,则说明安装成功。

2.项目部署

2.1.动静分离

SPA项目压缩并上传到/usr/nginx/html目录,再解压。

复制代码
# 创建目录
mkdir -p /usr/nginx/html
# 切换目录
cd /usr/nginx/html
# 上传SPA项目
rz dist.zip
# 解压
unzip dist.zip

修改nginx核心配置文件/etc/nginx/nginx.conf

复制代码
# 编辑conf.d文件
vim /etc/nginx/nginx.conf

并添加SPA项目访问映射规则。

复制代码
root         /usr/nginx/html;

location / {
    #该句代码是为解决history路由不能跳转的问题,在vue-router官网有介绍 
    try_files $uri $uri/  /index.html;
}

最后,重启nginx服务并访问SPA项目。

复制代码
# 重启nginx服务
systemctl restart nginx

2.2.反向代理

修改nginx核心配置文件/etc/nginx/nginx.conf,配置nginx反向代理。

复制代码
server {
    listen       80;
    server_name  www.zking.com;
    #charset koi8-r;
    #access_log  logs/host.access.log  main;
    location ^~ /edu/ {
    	proxy_pass http://127.0.0.1:8080/;
    }
}

proxy_pass说明是动态请求,需要进行转发,比如代理到Tomcat上。

切记,可以实时监控 nginx 日志来查看运行情况。

复制代码
# 切换到nginx的日志目录
cd /var/log/nginx/
# 查看日志信息
tail -f error.log
相关推荐
淼淼爱喝水13 小时前
openEuler 系统下 Ansible 一键安装教程(保姆级)
运维·ansible·openeuler
XXOOXRT13 小时前
零基础掌握Linux常用命令
linux·运维·服务器
迷海13 小时前
Linux g++编译与GDB调试完整流程(文末附图)
linux·gdb调试工具·g++编译器
softbangong13 小时前
815-批量Excel文件合并工具,批量excel文件、工作表合并软件
linux·windows·excel·文件合并·excel合并·数据整理
123过去13 小时前
responder使用教程
linux·网络·测试工具·安全·哈希算法
不知名。。。。。。。。13 小时前
数据链路层
linux·网络
桌面运维家14 小时前
KVM虚拟机:快照增量备份与Linux系统快速恢复
linux·运维·服务器
charlie11451419114 小时前
嵌入式C++教程实战之Linux下的单片机编程:从零搭建 STM32 开发工具链(2) —— HAL 库获取、启动文件坑位与目录搭建
linux·开发语言·c++·stm32·单片机·学习·嵌入式
Sarapines Programmer14 小时前
【Docker】Windows 安装 Docker 简明指南
运维·docker·容器
cnnews14 小时前
手机通过Termux安装unbuntu,开启SSH
linux·运维·ubuntu·ssh