在ubuntu系统上使用apt-get安装的nginx具有不同的其他系统和安装方法。nginx各目录分布
1 .配置文件目录:/etc/nginx
其中/etc/nginx/nginx.conf是主要配置文件,sites-available主要用于配置服务器段。 后述
2 .启动/重新启动/关闭文件:/etc/init.d/nginx
/etc/init.d/nginx stop/etc/init.d/nginx start/etc/init.d/nginx reload3.可执行文件:/usr/sbin/nginx
4 .网页目录:/var/www
(一)多端口部署项目1.打开安全组添加入方向规则
此处定制7000端口的示例为2.防火墙中开启对应端口
进入linux命令后,必须安装防火墙才能首次使用
sudo apt安装防火墙d显示所有打开的端口。
添加firewall-cmd---zone=公共----list-ports自定义端口:
firewall-cmd---zone=public---- add-port=7000/TCP---permanent (permanent永久有效,如果没有此参数重新启动)
检查防火墙- cmd-- reload是否有效。
firewall-cmd---zone=public-- query-port=7000/TCP http://www.Sina.com /
上述web存储目录为/var/www,其中默认具有html目录。 安装nginx后,如果在浏览器中直接输入ip或域名,则默认为80个端口,并显示来自/var/www/html/index.nginx的接口,为什么在此文件中设置默认设置打开/etc/nginx/nginx.conf主配置文件,可以看到http中有这样的代码。
如果所有server配置都写入nginx.conf主配置文件中,则整个项目不可避免地会变得杂乱和庞大。 为了便于配置文件的维护,需要进行拆分配置。3.web目录与sites-enabled的作用是部署/etc/nginx/sites-available/下的所有服务器文件。 如果使用xftp工具进行检查,就会发现实际上sites-enabled下是服务器配置文件的软链接。 实际配置为/etc/nginx/sites-available/下include /etc/nginx/sites-enabled/
在名为web7000的目录下部署多个web项目、web1和web2时。 来自4.sites-available中自定义文件并部署项目,在浏览器访问localhost:7000/web1时响应web1项,在访问localhost:7000/web2时响应web2项http://www.Sina.com/http://www.Sina.com/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项目的部署到此完成。(1)
通过以上操作,只能在7000端口、/var/www/web7000目录中部署一个项目。 如果要部署多个项目,该怎么办? 例如,浏览器输入ip:7000/web1显示项目web1,输入ip:7000/web2显示项目web2。 我们的/var/www/web7000目录结构是这样的
(1)变更/etc/nginx/sites-available/web 7000.conf文件如下:
location=/web1表示浏览器输入ip:7000/web1进入此规则。 位置=web 2也是如此。 中的try_files $u r i $u r i/=404有优先级。 首先,浏览器询问是否存在u r i、是否存在响应404、是否存在u r i、是否不存在响应404、是否存在响应404、u r i意味着什么,以及ip:7000/web2 如果存在,则与root联合查找/var/www/web7000/web2下的index.html进行响应。 这样配置后,您会发现在浏览器中输入ip:7000/web1响应404,然后输入IP336070004。它在try_files $uri中没有任何作用吗?
在浏览器端输入ip:7000/web1/index.html时,$uri已解析为web1/index.html,在这种情况下可以访问。 利用该特性,也可以访问web1下的其他资源。 例如,如果有test.png图像,则为IP33338
现在,您可以在一个端口上部署多个项目。
我参考了一个名为3https://www.cn blogs.com/ok lizz/p/11336151.html的博客。 详细、全面,非常适合刚解除nginx的同志。 在获得这个知识之前,我搜索了各种各样的博客,但是因为下载方法各不相同,所以nginx相关的目录也不同,走了弯路。 直到看了这个博客介绍了nginx的各个目录并说明了这个为止,一下子变得开朗了。 当然,其他知识点也值得学习。