You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu手动安装Nginx 1.23.4后服务异常,求正确安装步骤

解决源码安装Nginx 1.23.4后的命令与服务问题及React部署步骤

一、解决nginx命令找不到的问题

从源码编译安装的Nginx默认路径为/usr/local/nginx,其执行文件在sbin目录下,系统默认PATH未包含该路径,导致无法直接调用nginx命令,可通过以下两种方式解决:

  • 方式1:创建软链接到系统全局bin目录

    sudo ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
    

    执行后直接运行nginx -v,应显示nginx version: nginx/1.23.4。

  • 方式2:将Nginx的sbin目录加入系统PATH

    • 临时生效(仅当前会话):
      export PATH=$PATH:/usr/local/nginx/sbin
      
    • 永久生效(重启后仍有效):
      编辑~/.bashrc或/etc/profile文件,添加以下内容:
      export PATH=$PATH:/usr/local/nginx/sbin
      
      保存后执行source ~/.bashrc(针对当前用户)或source /etc/profile(针对所有用户)刷新配置。

二、创建systemd服务文件,解决systemctl无法识别nginx.service的问题

源码安装的Nginx不会自动生成systemd服务配置,需手动创建:

  1. 创建服务文件:
    sudo nano /etc/systemd/system/nginx.service
    
  2. 将以下内容粘贴到文件中(注意确认PIDFile路径与实际安装路径一致,默认是/usr/local/nginx/logs/nginx.pid):
    [Unit]
    Description=The NGINX HTTP and reverse proxy server
    After=syslog.target network.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=forking
    PIDFile=/usr/local/nginx/logs/nginx.pid
    ExecStartPre=/usr/local/nginx/sbin/nginx -t
    ExecStart=/usr/local/nginx/sbin/nginx
    ExecReload=/usr/local/nginx/sbin/nginx -s reload
    ExecStop=/usr/local/nginx/sbin/nginx -s stop
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    
  3. 保存并退出编辑器(nano按Ctrl+O,回车,再按Ctrl+X)。
  4. 重新加载systemd配置:
    sudo systemctl daemon-reload
    
  5. 启动Nginx服务并设置开机自启:
    sudo systemctl start nginx
    sudo systemctl enable nginx
    
  6. 现在执行sudo systemctl status nginx,应显示服务处于active (running)状态。

三、验证Nginx安装正确性

  • 执行nginx -v,确认版本为1.23.4
  • 访问服务器IP或localhost,应看到Nginx默认欢迎页面
  • 用sudo systemctl restart nginx测试服务启停正常

四、部署React应用

  1. 打包React项目:在React项目根目录执行

    npm run build
    

    生成的build目录即为可部署的静态文件。

  2. 配置Nginx站点:
    编辑Nginx主配置文件/usr/local/nginx/conf/nginx.conf,找到server块,修改如下:

    server {
        listen 80;
        server_name your_domain_or_ip;
    
        # 指定React打包后的静态文件路径
        root /path/to/your/react/build;
        index index.html index.htm;
    
        # 支持React单页应用路由
        location / {
            try_files $uri $uri/ /index.html;
        }
    }
    

    注意将/path/to/your/react/build替换为实际的build目录绝对路径,your_domain_or_ip替换为你的域名或服务器IP。

  3. 测试配置文件合法性:

    sudo nginx -t
    
  4. 重新加载Nginx使配置生效:

    sudo systemctl reload nginx
    

    此时访问你的域名或服务器IP,即可看到React应用。

内容的提问来源于stack exchange,提问作者Hasini Wickramasooriya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 04:07:40