社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  NGINX

Xshell,Xftp,nginx配置vue项目(包含踩坑)

一只不断踩坑的新韭菜 • 3 年前 • 432 次点击  

这两天用nginx配置vue项目因为也是第一次配置,翻了很多博客也是踩了不少坑,怕之后会忘,所以写篇博客总结一下流程。

使用工具

我这边配置使用xshell,xftp。xftp可以更加方便的传输文件(可以直接传文件夹)
连接xshell,xftp自行百度都有

安装nginx

1. 安装编译工具及库文件

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel pcre-devel
  • 1

gcc、gcc-c++ # 主要用来进行编译相关使用

openssl、openssl-devel # 一般当配置https服务的时候就需要这个了

zlib、zlib-devel # 主要用于文件的解压缩

pcre、pcre-devel # Nginx的rewrite模块和HTTP核心模块会用到PCRE正则表达式语法

make # 遍历

make install # 安装

2. 创建nginx目录

cd /usr/local
mkdir nginx
  • 1
  • 2

3. 安装并解压
wget https://nginx.org/download/nginx-1.10.2.tar.gz 下载
tar -zxvf nginx-1.10.2.tar.gz 解压

4. 进入安装目录

cd nginx-1.10.2
  • 1

5. 编译安装nginx

./configure
make
make install
  • 1
  • 2
  • 3

6. 启动nginx
先找找nginx安装在哪儿了
在这里插入图片描述
进入nginx目录并启动
在这里插入图片描述

ps -aux | grep nginx   查看nginx运行状态
  • 1

出现以下状态说明运行成功
在这里插入图片描述
如果是linux操作系统,直接输入localhost查看
否则可以去Xftp中/usr/local/nginx/conf下nginx.conf文件中更改配置,这里我们先改监听,关于vue的配置之后再论
在这里插入图片描述
http:{

server {
listen port;
server_name ip;
}

}
这里将要监听的ip和端口写上就可以从你的电脑上直接访问,出现以下画面则成功
在这里插入图片描述
至此nginx下载运行完成

vue-cli打包

在vue-cli项目下运行,会生成一个dist文件

npm run build
  • 1

在这里插入图片描述
打开Xftp,打开本地dist放置的目录将dist直接拖动到linux上你存放的目录下,我这里放在local下的server
在这里插入图片描述

打包后空白页问题解决

我们在打包后可能会出现index.html空白页的情况
1、由于静态资源访问不到,打包后的dist文件中index.html与static文件夹是这样存放的
在这里插入图片描述
而在config包下的index.js的build中写的是绝对路径’/'所以访问不到静态资源,所以我们应当将
在这里插入图片描述
改为
在这里插入图片描述
这样就能访问到静态资源了。
这样结束后,可能又有人会图片请求不到,没关系,我们将build包下utils.js文件中的publicPath路径改一下,改成**…/…/**
在这里插入图片描述
在这里插入图片描述
2、可能由于router包下index.js中的model为history导致空白页,把model删了或者将其改成hash即可
在这里插入图片描述
若非要用histoty请参考官方给出的后端配置的例子 vue history模式后端配置例子

nginx配置

sever{

#access_log logs/host.access.log main;
root /usr/local/server/dist; //dist文件存放路径

location / {
try_files $uri $uri/ @router
index index.html index.htm;
}

location @router{
rewrite ^. $/index.html last;
}
location /basic/ {
proxy_pass //代理地址;
proxy_cookie_path / /basic;
proxy_redirect default;
rewrite ^/basic/(.
) /$1 break;
client_max_body_size 500m;
}
}

如果在vue中写了代理,要把他删掉否则nginx的代理不会生效

在这里插入图片描述
删除后
在这里插入图片描述

全部配置完毕后,重新加载nginx配置
附nginx基本命令:
start nginx:打开 nginx
nginx -t :测试配置文件是否有语法错误
nginx -s reopen:重启Nginx
nginx -s reload:重新加载Nginx配置文件,重启nginx
nginx -s stop:强制停止Nginx服务
nginx -s quit:平滑地停止Nginx服务(即处理完所有请求后再停止服务)

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/71912
 
432 次点击