热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

云服务器使用nginx部署web项目(ubuntu操作系统)

ubuntu系统下使用apt-get安装的nginx,其他系统或安装方式会有差异。nginx各目录分布1.配置文件目录:etcnginx其中etcnginxnginx

ubuntu系统下使用apt-get安装的nginx,其他系统或安装方式会有差异。
nginx各目录分布
1.配置文件目录:/etc/nginx
在这里插入图片描述
其中/etc/nginx/nginx.conf为主配置文件,sites-available主要用于配置server段,后面会有介绍
2.启动/重启/关闭文件:/etc/init.d/nginx

/etc/init.d/nginx stop
/etc/init.d/nginx start
/etc/init.d/nginx reload

3.执行文件:/usr/sbin/nginx
4.web目录:/var/www


一:多端口部署项目

1.打开安全组添加入方向规则
在这里插入图片描述
这里以自定义了7000端口为例
2.防火墙中开启对应端口
进入linux命令之后,首次使用需要安装firewall

sudo apt install firewalld

查看所有打开的端口:

firewall-cmd --zOne=public --list-ports

添加自定义的端口:

firewall-cmd --zOne=public --add-port=7000/tcp --permanent (–permanent永久生效,没有此参数重启后失效)

注意,添加后需要重新载入才能生效

firewall-cmd --reload

查看是否生效:

firewall-cmd --zOne=public --query-port=7000/tcp

3.web目录与sites-enabled
前面我们提到web存放目录是:/var/www,里面默认有一个html目录,在我们安装完nginx时直接再浏览器输入ip或域名,默认会到80端口,并展示一个welcom to nginx的界面,就是来自于/var/www/html/index.nginx-debian.html这个文件。为什么会默认到这个文件,是在哪里配置的呢,打开/etc/nginx/nginx.conf主配置文件会发现在http内有这么一句代码:
在这里插入图片描述
如果所有server配置都写在 nginx.conf 主配置文件中,项目都哦了难免会显得杂乱与臃肿。为了方便配置文件的维护,所以需要进行拆分配置。
include /etc/nginx/sites-enabled/ 的作用就是引入/etc/nginx/sites-available/下的所有server文件,使用xftp工具查看会发现其实sites-enabled下其实是server配置文件的软链接。而实际配置其实是在/etc/nginx/sites-available/下
在这里插入图片描述
4.sites-available中自定义文件并部署项目
如果我们要在web7000这个目录下部署多个web项目,web1,web2。让浏览器访问localhost:7000/web1时响应web1的项目,访问localhost:7000/web2时响应web2的项目
(1) 切换到/etc/nginx/sites-available目录下,ls查看当前目录的配置,默认是有一个default案例。将default复制一份,并起名为任意名字以.conf结尾的文件,注意不要使用_连接的方式,例如我当初使用web_7000.conf,发现文件执行不了。
在这里插入图片描述
(2) vim进入自定义的.conf文件中进行编辑,我的目录中已经自定义了web7000.conf这个文件:
在这里插入图片描述
以7000端口为例,如果你在安全组中配置了并且防火墙开放了7000端口,就可以在这里监听。listen 7000表示监听7000端口,server_name和location先不管,我们看root /var/www/web7000表示会去/var/www/web7000这个项目目录下找,我们在该目录下放一个index.html文件作为测试。
接下来保存退出创建软连接,切换到sites-enabled目录下,执行

ln -s /etc/nginx/sites-available/cust.conf

在这里插入图片描述
然后再执行以下代码重启nginx:

/etc/init.d/nginx reload

在浏览器中输入ip:7000则会显示我们放在/var/www/web7000下的index.html文件。这样就完成了一个基本的web项目部署。
5.一个端口下部署多个项目
以上操作我们只能在7000端口下,/var/www/web7000目录下部署一个项目,如果要部署多个项目又该如何实现呢?例如浏览器输入ip:7000/web1显示项目web1,输入ip:7000/web2显示项目web2,我们的/var/www/web7000目录结构是这样
在这里插入图片描述
(1)更改/etc/nginx/sites-available/web7000.conf文件为:
在这里插入图片描述
location = /web1表示浏览器输入ip:7000/web1进入此规则,location = web2同理。里面的try_files $uri $uri/ =404存在优先级,首先找 uri是否存在,不存在响应404,uri是否存在,不存在响应404,uri404uri又代表什么意思呢,浏览器输入ip:7000/web2, $uri代表的就是/web2文件,注意是web1文件; $uri/代表的是/web2目录,如果存在则会结合root去找/var/www/web7000/web2下的index.html并响应. 所以我们做了以上配置会发现浏览器中输入ip:7000/web1响应404,输入ip:7000/web2才会响应对应web2项目下的html文件。那是不是try_files $uri就没啥用了呢,我们可以用 $uri的特性去访问
我们在浏览器端输入ip:7000/web1/index.html时, $uri解析成了web1/index.html,所以这样时能访问的,利用这个特性,我们还可以访问web1下的其他资源,比如有一张test.png图片,则可ip:7000/web1/test.png
这样我们就实现了一个端口下部署多个项目.

参考到了https://www.cnblogs.com/oklizz/p/11336151.html这篇博客,写的很详细很全面,很适合刚解除nginx的同志。在弄通这一块知识之前找了各种博客,参差不齐,也有下载方式不一样nginx相关目录不一样,走了很多弯路,直到看到这篇博客介绍nginx各项目录解释这块一下子豁然开朗。当然还有其他知识点也很值得学习。


推荐阅读
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • linux服务器时间同步失败解决方法
    linux服务器时间同步失败解决方法1、为什么会时间不同步:①计算机的时间是根据电脑晶振以固定频率震荡而产生的,由于晶振的不同或者老化,会 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 解决php错误信息不显示在浏览器上的方法
    本文介绍了解决php错误信息不显示在浏览器上的方法。作者发现php中的各种错误信息并不显示在浏览器上,而是需要在日志文件中查看。为了解决这个问题,作者提供了一种解决方式:通过修改php.ini文件中的display_errors参数为On,并重启服务。这样就可以在浏览器上直接显示php错误信息了。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
  • Nginx Buffer 机制引发的下载故障
    Nginx ... [详细]
  • Linux一键安装web环境全攻略
    摘自阿里云服务器官网,此处一键安装包下载:点此下载安装须知1、此安装包可在阿里云所有Linux系统上部署安装,此安装包包含的软件及版本为& ... [详细]
author-avatar
流年时光云
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有