ubuntu安装nginx及其默认目录结构
Posted 贫民窟里的程序高手
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu安装nginx及其默认目录结构相关的知识,希望对你有一定的参考价值。
一. 安装包安装
1.1 安装nginx
$sudo apt-get install nginx
Ubuntu安装之后的文件结构大致为:
- 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下
- 程序文件在/usr/sbin/nginx
- 日志放在了/var/log/nginx中
- 并已经在/etc/init.d/下创建了启动脚本nginx
- 默认的虚拟主机的目录设置在了/var/www/nginx-default (有的版本 默认的虚拟主机的目录设置在了/var/www, 请参考/etc/nginx/sites-available里的配置)
1.2 启动Nginx
$sudo /etc/init.d/nginx start
然后就可以访问了,http://localhost/ , 一切正常!
如果不能访问,先不要继续,看看是什么原因,解决之后再继续。
启动时候若显示端口80被占用: Starting nginx: [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)
,修改文件:/etc/nginx/sites-available/default
,去掉 listen 前面的 # 号 , # 号在该文件里是注释的意思 , 并且把 listen 后面的 80 端口号改为自己的端口,访问是需要添加端口号。(安装完后如出现403错误,那可能是nginx配置文件里的网站路径不正确)
1.3 Nginx与php-FPM集成
PHP-FPM 与 Nginx 通信方式有两种,一种是基于TCP的 Internet domain socket 方式,一种是 UNIX domain socket 方式。
UNIX domain socket 可以使同一台操作系统上的两个或多个进程进行数据通信。UNIX domain socket 的接口和 Internet domain socket 很像,但它不使用网络底层协议来通信。
服务器压力不大的情况下,这两种方式性能差别不大,但在压力比较满的时候,用UNIX domain socket方式,效果确实比较好。
UNIX domain socket 方式:
在 /etc/nginx/sites-available/default 配置文件中(网站根目录也在是这里更改), Nginx已经为与 PHP-FPM的整合准备好了,只要吧注释去掉即可,只需要将下面这部分改好就可以了。sock文件路径为 /run/php/php7.1-fpm.sock 。(视安装php版本而定)
location ~ .php$ {
include snippets/fastcgi-php.conf;
# With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# With php7.0-fpm:
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
}
然后再修改 PHP-FPM的配置文件 /etc/php/7.1/fpm/pool.d
,如下:
; 与 Nginx监听同一个 sock
listen = /run/php/php7.1-fpm.sock
配置好后重启服务:
sudo /etc/init.d/nginx restart
sudo /etc/init.d/php7.1-fpm restart
以上是关于ubuntu安装nginx及其默认目录结构的主要内容,如果未能解决你的问题,请参考以下文章