Windows下安装Nginx
前言
Nginx (engine x)
是一个高性能的HTTP和反向代理服务器
,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru 站 点(俄文:Рамблер)开发的
-
它也是一种轻量级的Web服务器,可以作为独立的服务器部署网站(类似Tomcat)。
它高性能和低消耗内存的结构受到很多大公司青睐,如淘宝网站架设。。
安装步骤
1、下载Nginx下载地址:http://nginx.org/en/download.html (Nginx官网)
这里注意:路径 下 不能有 中文 否则 打不开
2、下载之后,解压到指定的目录,就可以看到以下的目录
在文件 里使用 cmd 进如 终端 里面 操作 打开 即可 ✌
3、控制台(CMD)切换到Nginx目录下,输入start nginx ,然后在浏览器页面输入localhost,出现如下界面则表示安装成功。默认监听80端口号。
4、nginx命令介绍
-
(1)start nginx 开启nginx服务
-
(2)nginx.exe -s stop 关闭nginx服务,快速停止nginx,可能并不保存相关信息
-
(3)nginx.exe -s quit 关闭nginx服务,完整有序的停止nginx,并保存相关信息
-
(4) nginx.exe -s reload
重载nginx服务,当你改变了nginx配置信息并需要重新载入这些配置时可以使用此命令重载nginx
当你 操作 任何 的 问题 就 尝试 使用 强制 关闭 执行的 代码 然后 重新 启动
- (5) 使用 taskkill /F /IM nginx.exe > nul命令强关nginx服务器
然后 访问自己的项目
浏览器访问:localhost/dist/index.html就可以看到页面了。
——————————————————————-————————
多个Vue项目如何部署到服务器
一、vue打包
在项目中输入npm run build
此时会生产一个dist目录
二、将dist目录上传至ngnix中的html目录中
修改Nginx文件,找到nginx.conf
三、如果此时有多个vue项目呢?
多加几个location即可
四、最后记得保存
:wq
五、重新启动Nginx
sudo nginx -s reload
六:Nginx.conf的内容
location / { root html/dist/; try_files $uri $uri/ /dist/index.html;
index index.html;
}
这里 :复
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
///注意 这里 有可能 需要 修改 ************
location / {
root html/dist/;
index index.html index.htm;
try_files $uri $uri/ @router;
index index.html;
}
#对应上面的@router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体的文件
location @router {
# #因此需要rewrite到index.html中,然后交给路由再处理请求资源
rewrite ^.*$ /index.html last;
}
location /admin {
alias /usr/local/nginx/admin/dist;
index index.html index.htm;
try_files $uri $uri/ @router;
index index.html;
}
#对应上面的@router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体的
location @router {
# #因此需要rewrite到index.html中,然后交给路由再处理请求资源
try_files $uri $uri/ @router;
index index.html;
}
#对应上面的@router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体>的文件
location @router {
# #因此需要rewrite到index.html中,然后交给路由再处理请求资源
rewrite ^.*$ /index.html last;
}
终端运行:
sudo nginx -s reload // 修改配置后重新加载生效9·
sudo nginx -s stop // 快速停止nginx
————————————————
当 hash
模式下 注意 :直接 将项目 放到 html
文件
打包后 生成的dist 文件
- 然后 重新 启动一下 在 项目 的 根目录下
- 使用 cmd 进入 并启动 然后在
- 也没面 使用
localhost/dist
访问 - 项目 会在路径 上 显示 # 号键
- 也代表 是 hash 模式**
二、history模式
注意 :打包 的 不一样 访问 和 配置 也就 不一样
dist 文件 包 也 需要 更换
- 首先 需要 在
文件在 编译 器 里面 打开 并且 修改 一下 代码片段
2.然后重新 启动 一下
**注意:**如果页面 打不开 是 空白 的话 有可能 是 缓存 的问题 重新的 启一下 然后
打开 后 会和 hash 模式 有明显的区别 比如 路径 上 没有 # 号
如下图 所示 : 路径 是这样的
————————————————————————————————
哈哈哈 两种打包 方式
1,如果路由是hash状态
首先打开项目文件夹。找到config文件夹里的index.js文件中的build对象,将assetsPublicPath中的“ / ”,改为“ ./ ”。
如图
然后进行打包
npm run build
如果的到如下提示,不会报任何异常或错误,
如果想本地打开需要一个本地服务器,可以使用Hbuilder,或者安装本地服务。
首先确保是全局安装。
npm install http-server -g
根据目录 cd 。
cd dist
输入启动命令。
http-server
浏览器输入对应的链接。
http://127.0.0.1:8080 例子:
备注:
如果没有cd dist,直接在根目录启动服务的话浏览器需要输入
http://127.0.0.1:8080/dist/index.html
2,如果路由是 mode:‘history’模式
使用此模式不需要在config
文件夹里的index.js文件中的修改build对象,assetsPublicPath中的“ / ”不变,也就是什么也不要改动,直接打包。
此模式需要后端配合,详情请看官网文档,或者使用node进行配置app.js自己的服务。
代码如下:
const http = require('http')
const fs = require('fs')
let server = http.createServer();
server.on('request', (req,res)=>{
if(req.url.startsWith('/static')){
fs.readFile('.' + req.url, (err,data) => {
res.end(data);
})
} else {
fs.readFile('./index.html', (err,data) => {
res.end(data);
})
}
})
server.listen(8888);
console.log('Server running at http://127.0.0.1:8888/');
如图把app.js放在dist文件下
然后使用node命令启动服务
node app.js
————————————————
over ~~