第十章:Nginx配置详细讲解

这篇具有很好参考价值的文章主要介绍了第十章:Nginx配置详细讲解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、Nginx是什么?

二、下载nginx

三、Nginx配置

四、发布SPA项目以及虚拟域名设置

五、Tomcat集群配置

六、nginx动静分离


一、Nginx是什么?

代理服务器 --> Tomcat
HTML服务器

第十章:Nginx配置详细讲解,软件工程师必备技能,nginx,服务器,运维,tomcat

二、下载nginx

下载链接:http://nginx.org/download/nginx-1.17.10.ziphttp://nginx.org/download/nginx-1.17.10.zip

注1:此版本为window版本 
         linux版本

三、Nginx配置

解压软件至指定目录,例如:D:\tools\nginx-1.17.10

打开cmd容器,切换到nginx安装根目录,即可执行相关命令进行操作

start nginx.exe  //启动nginx
 nginx.exe -s stop //快速停止nginx
nginx.exe -s reload //重新加载nginx
nginx.exe -s quit //完整停止nginx

注1:nginx默认使用80端口,这就是绝大多数网站对外的端口,网站其它端口应该都在防火墙的保护之下
注2:windows下nginx启动一闪而过且nginx启动失败,原因:有可能是80端口被占用的缘故,修改nginx端口即可
注3:如何修改nginx的端口号?
        找到配置文件nginx_home/conf/nginx.conf
        server {
          #listen       80;     #默认端口
          listen        8088;   #自定义端口
          ...
          ...
        }
注4:nginx.conf文件中,#号为注解,代码必须以;号结尾

重要~~~~~~~~重要~~~~~~~~重要~~~~~~~~

四、发布SPA项目以及虚拟域名设置

 1. 打包SPA项目,将打包后的dist目录复制到D:\tools\nginx-1.17.10\html,并更名为crm,最终SPA项目根目录为
D:\tools\nginx-1.17.10\html\crm 

2. 修改server节点

server {
        listen       80;            #监听80端口,可以改成其他端口
        #server_name  localhost;    #当前服务的域名(虚拟域名也可以)
    server_name  www.zking.com; #当前服务的域名(虚拟域名也可以)
    root         html/crm;      #将要访问的网站的根目录,nginx节点会自动继承父节点的配置

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

    location / {
                #root         html/crm;    #将要访问的网站的根目录
            #该句代码是为解决history路由不能跳转的问题,在vue-router官网有介绍 
        try_files $uri $uri/  /index.html;
    }
}

注1:通过虚拟域名访问,还要修改window的hosts文件添加虚拟域名映射。

文件位置如下:
           C:\Windows\System32\drivers\etc\hosts
           另外,此文件有可能出现由于当前用户权限不够,出现无法修改的情况?解决方案
           将此文件复制到d硬盘任一目录,修改后,再复制替换                               C:\Windows\System32\drivers\etc\hosts原文件  

五、Tomcat集群配置

upstream  tomcat_list{  #服务器集群名字
       server    127.0.0.1:8080  weight=1;   #服务器1   weight是权重的意思,权重越大,分配的概率越大。
       #server    172.17.0.4:8080  weight=2; #服务器2   weight是权重的意思,权重越大,分配的概率越大
   } 

注1:upstream节点是http节点的儿子,与server节点是兄弟关系,不要搞错了

六、nginx动静分离

 1.修改spa项目的api/actions的server将其修改为生产阶段,并添加一个/api前缀

export default {
	//服务器
	//'SERVER': 'http://localhost:8080/crm',//开发阶段
	'SERVER': 'http://www.zking.com/api/crm',//生产阶段改为服务器的域名,并添加/api前缀
       .....
} 

 2.前缀“/api”的作用

location  ^~/api/ {
        #^~/api/表示匹配前缀是api的请求,proxy_pass的结尾有/, 则会把/api/*后面的路径直接拼接到后面,即移除api
	proxy_pass http://tomcat_list/;
}

 http://www.zking.com/api/crm/sys/userLogin.action?username=zs&password=123
 127.0.0.1:8080/crm/sys/userLogin.action?username=zs&password=123
 172.17.0.2:8080/crm/sys/userLogin.action?username=zs&password=123 

附录一:hbuilderX打包vue项目白屏问题
将项目目录下的config文件夹里的index.js文件中,将build对象下的assetsPublicPath中的“/”,改为“./”后,再打包生成的 dist 文件

build: {
    // assetsPublicPath: '/',//修改前
    assetsPublicPath: './',//修改后
}

附录二:hbuilderX打包vue项目,element-ui的icon图标无法正常显示问题
问题:使用vue-cli3脚手架搭建的项目,在打包文件上服务器的时候,其他的css,js样式都能正确加载出路径,但是element的icon图标却不能正常加载出来。

问题分析:
加载的路径https://yxq.linksign.cn/static/css/static/fonts/element-icons.535877f.woff
本应该加载的路径https://yxq.linksign.cn/static/fonts/element-icons.535877f.woff
打包的路径
事实上是打包时候读取的文件路径多了两层;
找到build文件的utils.js 中有打包的路径,看看generateLoaders();
Extract CSS when that option is specified, 指定该选项时提取CSS
发现少了个公共路径,加上pubilcPath

if (options.extract) {
     return ExtractTextPlugin.extract({
       use: loaders,
       fallback: 'vue-style-loader',
       // 解决icon路径加载错误
       publicPath:'../../'
     })
   } else {
     return ['vue-style-loader'].concat(loaders)
}

附录二:win10系统端口被占用怎解决
1. 开始---->运行---->cmd,以<<<管理员>>>身份调出命令窗口
2. 查看被占用端口对应的PID(即进程ID),输入命令:netstat -aon|findstr "端口号",回车,记下最后一位数字,即PID,
    示例如下:
    #查看端口8005的使用情况
    netstat -aon|findstr "8005"
    #命令窗口显示的数据格式如下:
    TCP    127.0.0.1:8005         0.0.0.0:0              LISTENING       14700

注1:netstat -ano命令可以用来查看所有端口使用情况,netstat -ano | findstr "8005" 查看指定端口号的使用情况
注2:cls命令可以用来清屏
文章来源地址https://www.toymoban.com/news/detail-518865.html

3.  根据PID查找进程
     继续输入tasklist|findstr "14700",回车,查看是哪个进程或者程序占用了8005端口,结果是: javaw.exe 
     javaw.exe                    14700 Console                    1    313,864 K

4. 此时结果已经很明白了,接下来我们可以到控制面板中的服务区查看此进程,手动关掉它。也可以在cmd中通过命令来关闭它,输入:
    taskkill /f /t /im  javaw.exe 

Thanks!

到了这里,关于第十章:Nginx配置详细讲解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SaaS软件工程师成长路径

           SaaS软件工程师的成长需要循序渐进,和SaaS业务一样有耐心。SaaS工程师需要在“业务”、“技术”、“管理”三个维度做好知识储备、技能沉淀。本文基于“能力-知识-技能”模型,给出SaaS软件工程师成长路径、学习建议及要求。         “Ability(能力)”更多依

    2024年02月15日
    浏览(42)
  • 软件开发工程师 - 面试手册

    软件开发工程师是IT行业中最常见的岗位之一,主要负责设计、开发和维护软件应用。他们需要熟悉至少一种编程语言,了解软件开发的基本流程和原理,具备良好的解决问题能力和团队合作精神。 在招聘广告中,公司通常会对软件开发工程师的要求做出如下描述: 熟悉至少

    2024年02月06日
    浏览(48)
  • 软件工程师,TypeScript值得你拥有

    背景          □ TypeScript起源于使用JavaScript开发的大型项目。由于JavaScript语言本身的局限性,难以胜任和维护大型项目开发,因此微软开发了TypeScript,使得其能够胜任开发大型项目。         □ TypeScript是微软开发的一个开源的编程语言,通过在JavaScript的基础上添

    2024年02月16日
    浏览(46)
  • 8年经验的软件工程师建议

    我希望在职业生涯早期就开始做的事情和我希望以不同的方式做的事情。 大家好,我已经做了八年半的软件工程师。这篇文章来源于我最近对自己在职业生涯中希望早点开始做的事情以及希望以不同方式做的事情的自我反思。 我在这里分享的对任何希望提高和进步到高级甚

    2024年02月05日
    浏览(45)
  • 软件工程师,全面思考问题很重要

    为什么要全面思考问题         □ 在软件开发中,对一个问题思考得越全面,编写出的代码就会越严谨,出现bug的几率就越低;反之,如果没有对一个问题进行全面而深入的思考,编写出的代码就会漏洞百出,出现各种莫名其妙、无法复现的bug的几率也就急剧增加。   

    2024年02月08日
    浏览(30)
  • 软件UI工程师的职责模板

      软件UI工程师的职责模板1 职责: 1.负责产品的UI视觉设计(手机软件界面 网站界面 图标设计产品广告及 企业文化的创意设计等); 2.负责公司各种客户端软件客户端的UI界面及相关图标制作; 3.设定产品界面的整体视觉风格; 4.为开发工程师创建详细的界面说明文档,保证工程师

    2024年02月13日
    浏览(34)
  • 软件工程师,入门下深度学习吧

    概述         ChatGPT,英文全称为Chat Generative Pre-trained Transformer,是OpenAI研发的聊天机器人程序。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流。除此之外,还能

    2024年02月11日
    浏览(30)
  • 软件工程师,超过35岁怎么办

    概述         随着科技行业的飞速发展,软件开发工程师的职业道路充满了各种机遇和挑战。对于已经在这个行业摸爬滚打了十多年的软件开发工程师来说,当他们步入35岁这个年纪时,可能会感到一些迷茫和焦虑。许多人担忧,在以创新、活力、快速迭代为特点的IT领域

    2024年02月20日
    浏览(35)
  • 【译】AI会取代软件工程师吗?

    原作:凯文·德瓦尔特 引言:AI不会取代程序员 人们普遍吹捧的观点是,LLMs和AI正在极大地简化创建高质量软件的过程。有些人甚至预测,这种趋势可能会导致未来软件工程师变得多余,简化的抽象(例如无代码解决方案)将解决我们所有的业务问题。作为一个拥有30年科技

    2024年02月19日
    浏览(39)
  • 工信部—高级软件开发工程师认证

    工业和信息化部教育与考试中心是工业和信息化部直属事业单位,承担计算机技术与软件专业技术资格考试、通信专业技术人员职业水平考试、电子通信行业职业技能鉴定、全国信息技术人才培养工程、产业工人网络平台建设等人才培养选拔工作。 软件工程师(Software Enginee

    2024年02月08日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包