阿里云服务器安装nginx,以及相关配置


最近打算完成一个springboot+vue的前后端项目,随便写一些博客,算是对过程的记录,另一个方面也是方便自己以后修改配置什么的。

环境

阿里云的ESC服务器,操作系统为ubuntu20.04

安装nginx

安装nginx的方式有很多种,一种是通过下载官方的包,然后手动上传到服务器,然后再进行配置,还有就是通过ubuntu操作系统的apt install全装,我们这里采用第一种方式。

下载nginx

nginx
选择稳定版的nginx-1.24.0,下载完成后上传至服务器。

解压并安装

找到nginx压缩包,执行命令

tar -xzvf  nginx-1.24.0.tar.gz
ls

可以发现当前目录下多了nginx的文件夹解压结果
进入目录,里面绿色的configure是可执行文件,一次执行以下三条命令nginx就算是安装完成了

./configure
make
make install

我们可以通过whereis查看nginx的位置

whereis nginx

nginx位置
进入/usr/local目录找到nginx,然后就可以运行nginx

进入sbin目录之后执行命令

./nginx

成功运行!
我们也可以通过

ps -aux | grep nginx

查看nginx的运行状态运行状态
由于我们是通过压缩包安装的,所以systemctl是无法查看nginx的运行状态的,包括运行,重新加载配置等,也需要进入这个目录。

nginx简单配置

nginx的配置文件在**/usr/local/nginx/conf/nginx.conf**建议在修改前先备份配置文件

cd /usr/local/nginx/conf
vim nginx.conf

配置需要分发的页面

找到http大模块的server模块下的location,locaion下的root即为分发文件的根目录配置分发
最开始应该是html而不是dist,html是conf的同级目录,所以如果使用相对目录的话要以conf为基础,当然也可以使用绝对目录,不过把把根目录改到外面会出现访问权限不足的问题,为了偷懒,我就直接在conf同级创建了dist目录,用于存放带分发的页面。
index配置的是默认分发的文件,如果直接访问ip的话,得到的就是index后面的页面。可以自行修改,不过建议不改。

单文件应用的url访问问题

当我们使用webpack或者vite打包vue单文件应用的时候,我们会发现打包之后的dist目录中只有index.html,这就意味着nginx能够分发的只有入口页面,如果你想用url去访问vue-router里配置的页面,那你大概率会得到404 not found。如果你确实想要其它的路径也是有效的,只需要仿造上图加上下面的代码就可以了。

try_files $uri $uri/ /index.html;

反向代理问题

nginx配置反向代理实际上是为了解决跨域问题,关于这个,可以看看下面的文章
一文搞懂跨域的所有问题,生活从此669~
总的来说,跨域是为了安全考虑而设置的限制,其关键在于浏览器会拒绝不是分发页面的服务器的数据,而在前后端分离的情况下,我们同时拥有两个服务器,前端的服务器只负责分发前端的页面,后端的服务器负责数据的存取,天然跟跨域矛盾。
解决这个问题最方便的方法还是反向代理,简单来说我们不再向后端的服务器请求数据,而是仍向前端服务器请求数据,然后由前端的服务器转发我们的请求,得到数据后,再转发给我们。
反向代理配置
为了区分页面和后端的接口,我们给接口路径前加上api,

如果前端监听端口5173,后端监听接口5555,
原来你要访问http://127.0.0.1:5555/hello
现在你就需要访问http://127.0.0.1:5173/api/hello

前端的nginx服务器接收到请求之后因为/api的匹配度更高,就会转发请求到http://127.0.0.1:5555/api/hello为了不影响后端的接口,我们需要在转发之前去掉 /api 也就是上面的rewrite所做的事情,现在我们就可以正常的进行前后端通信了。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用内容,阿里云服务器配置nginx访问外国网站的过程中可能会遇到超时的问题。参考中的描述,你提到在配置好https后,本地访问可以正常,但外网访问一直超时。根据中的描述,搭建境外电商时,通过阿里云的全局流量管理可以根据用户访问的地域就近接入服务,提升用户访问速度。而中提到,在服务器上可以正常访问,但退出服务器后使用自己的电脑访问时出现超时问题。 可能的原因是服务器配置中没有正确设置全局流量管理或阿里云负载均衡。你可以按照中提供的阿里云域名解析网络和服务架构设计教程,检查和配置全局流量管理和负载均衡。确保域名解析根据用户访问的地域分发到就近区域,确保访问速度和稳定性。 另外,你也可以检查服务器配置中的Nginx代理设置,确保端口正确暴露给负载均衡。参考和中提到的文章,了解如何正确配置和使用Nginx代理。 总结来说,你需要配置阿里云的全局流量管理,确保域名解析根据用户访问的地域分发到就近区域,并检查服务器配置中的Nginx代理设置,确保端口正确暴露给负载均衡。这样可以提高外网访问外国网站的稳定性和速度。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [阿里云https配置nginx后外网无法访问 已解决](https://blog.csdn.net/qq_37591986/article/details/89460921)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [阿里云域名解析网络和服务架构设计(四) 之阿里云ECS服务器Nginx代理实践](https://blog.csdn.net/weixin_42257984/article/details/123647968)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值