安全运维-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
相关推荐
Johny_Zhao4 小时前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
YuMiao18 小时前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
chlk1232 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑2 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件2 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒2 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI3 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux