• Ubuntu 上使用nginx部署vue项目


    目录

    一、nginx完全卸载(可跳过)

    二、nginx安装

    三、nginx的配置文件

    四、配置nginx

    1、配置监听端口号、访问IP、代理跨域

    2、引入vue项目配置文件的路径

    五、启动nginx


    一、nginx完全卸载(可跳过)

    如果你之前安装过nginx,个人建议先走一下nginx卸载流程,如果没有可以直接跳过。我这里直接用的是root用户,如果是普通用户需要在最开始加上 sudo

    1. apt-get remove nginx nginx-common
    2. apt-get purge nginx nginx-common
    3. apt-get autoremove
    4. apt-get remove nginx-full nginx-common

    二、nginx安装

    安装过程很简单,第一步,更新源列表

    apt-get update

    第二步,安装nginx

    apt-get install nginx

    第三步,检查nginx是否安装成功。如果出现版本号说明安装成功。

    nginx -v

    三、nginx的配置文件

    nginx的配置文件和静态资源文件分布在不同的地方,这里需要注意。

    • /usr/sbin/nginx:主程序
    • /etc/nginx:存放配置文件(nginx.conf)
    • /usr/share/nginx:存放静态文件
    • /var/log/nginx:存放日志

    四、配置nginx

    现在要修改配置文件,在 /etc/nginx目录下有个 nginx.conf,我们需要修改的就是这个文件。在修改文件之前,我们需要做一些准备工作。

    1、配置监听端口号、访问IP、代理跨域

    nginx.conf配置文件中并没有 配置端口号和IP,这个我们需要自己手动添加,为了便于修改,我们将vue项目的配置放在其他地方文件里,在nginx.conf 只需要将vue项目的配置文件所在路径引入即可。

    我打算把vue项目的配置文件放在 /etc/nginx/hosts 目录下。第一步,新建host目录

    1. cd /etc/nginx #切换到/etc/nginx路径下
    2. mkdir hosts #新建目录host

    第二步,新建 server0.host 文件。名字和后缀可以自己命名。这个文件就可以保存当前vue项目的相关配置。

    touch server0.host

    第三步,加入端口号和IP相关配置,然后将下面提供的配置模板拷贝进去

    vim server0.host    #编辑server0.host
    
    1. server {
    2. listen 8080; #自己设置端口号
    3. server_name xxx.xxx.xxx.xxx; #自己设置ip地址
    4. #access_log logs/host.access.log main;
    5. location / {
    6. root /usr/share/nginx/dist; #这里写vue项目打包好的dist文件的地址
    7. index index.html; #这里是vue项目的首页,需要保证dist中有index.html文件
    8. try_files $uri $uri/ @router;
    9. }
    10. location @router {
    11. rewrite ^.*$ /index.html last; //解决重新刷新页面,页面空白的问题
    12. }
    13. location /api/ {
    14. proxy_pass http://xxx.xxx.xxx.xxx:9090/; //9090是后端端口
    15. }
    16. error_page 500 502 503 504 /50x.html;#错误页面
    17. }

    2、引入vue项目配置文件的路径

    准备工作做好以后,下面就需要在nginx的配置文件中引入 vue配置文件的路径,vue配置文件的路径设置的是 /etc/nginx/hosts/server0.host

    1. cd /etc/nginx
    2. vim nginx.conf #编辑nginx配置文件

    我们只需要在nginx配置文件加入一行即可

    注意:需要放在server { } 的外部,因为server里面不能再嵌套一层 server { }

     

    五、启动nginx

    启动nginx

    systemctl start nginx

    停止nginx

    systemctl stop nginx

    重启nginx

    systemctl reload nginx

    查看nginx的启停状态(如果正常启动,会看到绿色的Running)

    systemctl status nginx
  • 相关阅读:
    30条有趣的狗名言
    7 SpringBoot与Elasticsearch
    java计算机毕业设计车辆保险平台系统研究与设计源码+mysql数据库+系统+lw文档+部署
    记录ajax的jsonp类型请求
    元宇宙001 | 情绪无法自控?元宇宙助你一臂之力
    MySQL 中with rollup的用法,对分组再汇总
    27.【C/C++ 最全vector数组的用法 (详解)】
    生命科学领域 - FAIR原则和如果使数据FAIR化
    易拓SAP上新季 | SAP 分析云 2022年第四季度更新 TOP5 新功能速递
    flink实战--flinksql 窗口TVF
  • 原文地址:https://blog.csdn.net/challenglistic/article/details/126403714