CentOS 如何配置 Nginx

163 阅读3分钟

如何安装 CentOS 系统

  1. 在 CentOS 官网上下载对应版本
  2. 安装虚拟机软件,这次使用的是 VirtualBox,下载版本并进行安装
  3. 安装 VirtualBox 和 CentOS 都是傻瓜式操作,直接下一步就行
  4. 启动虚拟机,启动 CentOS

CentOS 安装 Node.js

查看 Node.js 版本

node -v

如果提示 node: command not found,则需要通过以下命令安装 Node.js

# 添加 EPEL 存储库:EPEL(Extra Packages for Enterprise Linux)是一个第三方存储库,提供了许多额外的软件包,包括 Node.js。使用以下命令添加 EPEL 存储库。
sudo yum install epel-release

# 更新 YUM 缓存:运行以下命令可更新 YUM 软件包管理器的缓存
sudo yum makecache

# 安装 Node.js:使用以下命令在 CentOS 中安装 Node.js。
sudo yum install nodejs

# 验证安装是否成功
node -v

遇到了 DNS 问题 问题截图如下:

dns.png

参照 www.krizna.com/centos/setu… 这篇博客,解决了这个问题

安装 Nginx

# 安装 Nginx:运行以下命令以安装 Nginx 软件包:
sudo yum install nginx

# 启动 Nginx 服务:安装完成后,使用以下命令启动 Nginx 服务,并将其设置为开机自动启动:
sudo systemctl start nginx
sudo systemctl enable nginx

# 配置防火墙:如果您启用了 CentOS 的防火墙,则需要打开 HTTP 和 HTTPS 端口以允许 Nginx 浏览器访问。在终端中运行以下命令:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

查看 Nginx 配置

# 通过以下命令打开 nginx 配置文件
vi /etc/nginx/nginx.conf
# 配置文件说明

# 定义全局设置
user nginx;                 # 设置运行 Nginx 进程的用户
worker_processes auto;      # 启动的 Nginx worker 进程数量,"auto" 表示根据 CPU 核心数自动调整
error_log /var/log/nginx/error.log;  # 错误日志文件路径

# 设定事件模型
events {
    worker_connections 1024;   # 每个 worker 进程可以同时处理的连接数
}

# 配置 HTTP 服务器
http {
    include mime.types;     # 引入 MIME 类型配置文件
    default_type application/octet-stream;  # 默认 MIME 类型

    # 配置服务器
    server {
        listen 80;   # 监听端口号
        root /usr/share/nginx/html;   # 网站根目录

        # 定义域名和访问路径
        server_name example.com;

        location / {  
            index index.html;             # 默认首页文件
        }
    }
}

配置 Nginx

root: 一般默认路径是 /usr/share/nginx/html,这里根据实际情况,我们要把前端的 build 项目文件夹放到该目录下,完成之后在这里修改配置,更新 root 路径为 build 文件夹

nginx.png

location: 如果 server 中没有这段代码,需要添加到 server 中

location / {
    try_files $uri $uri/ /index.html;
}

nginx1.png

Mac 向 CentOS 传输文件

这次是通过虚拟机来使用 CentOS,可以将打包完成的项目文件传输给虚拟机

# 将虚拟机的网络模式设置成 桥接模式,参考文档:<https://blog.51cto.com/waxyz/5336001>

scp -r /path/to/local/folder username@remote-ip:/var/www/html/my-app

# 这里的 -r 参数表示递归复制整个目录树。
# 请将 /path/to/local/folder 替换为您要复制的本地文件夹路径,
# 在 username 处输入远程服务器登录名,在 remote-ip 处输入远程服务器 IP 地址,
# 在 /path/to/destination 处输入远程服务器上保存文件夹的目标位置。
# 执行此命令后,系统会提示您输入远程服务器用户的密码以进行身份验证。当命令完成并退出时,文件夹已成功复制到远程服务器。

重启 Nginx

# 使用以下命令重启 Nginx 服务
sudo systemctl restart nginx

# 使用以下命令来查看 Nginx 的运行状态
sudo systemctl status nginx

查看 CentOS ip

ip addr show

红框这个位置就是 ip 地址,比如这张图的就是 192.168.1.25

ip.png

总结

我们使用同一个局域网的设备,通过浏览器输入该 ip 地址,就可以看到部署好的项目啦✌️。