apt-get默认安装的nginx为1.10,如果嫌太老了可以修改安装源的方式来获得更新的版本;
一、添加Nginx源 新建一个nginx.list文件
vi /etc/apt/sources.list.d/nginx.list
加入以下内容:
deb http://nginx.org/packages/mainline/debian/ stretch nginx
deb-src http://nginx.org/packages/mainline/debian/ stretch nginx
下面这个我也不晓得干什么的,反正老外是这样写的
wget -qO - http://nginx.org/keys/nginx_signing.key | apt-key add -
更新一下让源生效
apt update
二、安装更新版本nginx
如果之前用apt命令安装了旧版本nginx,需要卸载掉才行
apt remove nginx-common
正式开始安装
apt install nginx
安装完成查看版本:
nginx -v
会列出Nginx OpenSSL相关配置文件路径…
查看nginx进程
ps aux | grep nginx
pgrep nginx
安装好的文件位置:
/usr/sbin/nginx #主程序
/etc/nginx #存放配置文件
/usr/share/nginx #存放静态文件
/var/log/nginx #存放日志
/etc/nginx/nginx.conf #默认nginx配置文件
Nginx控制命令:
###启动
systemctl enable nginx
###重启
systemctl restart nginx
###停止
systemctl stop nginx
###也可以使用
/etc/init.d/nginx start # 启动Nginx服务
/etc/init.d/nginx stop # 停止Nginx服务
/etc/init.d/nginx restart # 重启Nginx服务
增加 Nginx 虚拟主机
检查/etc/nginx/nginx.conf配置文件,确保文件中有:include /etc/nginx/conf.d/*.conf; 默认已经有了的。
然后在目录/etc/nginx/conf.d/下面新建文件site1.conf,site2.conf…文件名任意写,自己看明白就OK
Debian10的Nginx新增站点方法
在目录/etc/nginx/sites-available/下新增站点配置文件your_domain
nano /etc/nginx/sites-available/your_domain
示范如下
server {
listen 80;
listen [::]:80;
root /var/www/your_domain/html;
index index.html index.htm index.nginx-debian.html;
server_name your_domain www.your_domain;
location / {
try_files $uri $uri/ =404;
}
}
接下来,通过创建sites-enabled目录中的自定义配置文件的符号链接来启用这个服务器块:
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
使用nginx -t测试Nginx文件中有没有语法错误,配置测试通过就可以systemctl restart nginx重新启动Nginx
Nginx配置支持PHP
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
或者
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
又或者
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
解决Nginx php-fpm配置有误引起的502错误
针对该问题的解决方案是,修改/etc/nginx/conf/vhosts下的conf文件,
将fastcgi_pass 127.0.0.1:9000;修改为fastcgi_pass unix:/run/php/php7.0-fpm.sock;
重启Nginx服务后,WEB访问依然报错502,继续定位分析。
在nginx error_log日志/var/log/nginx/error.log中出现了以下新的报错内容:
2017/07/29 11:24:47 [crit] 6114#0: *1 connect() to unix:/run/php/php7.2-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 183.14.134.xx, server: 112.74.89.xx, request: “GET / HTTP/1.1”, upstream: “fastcgi://unix:/run/php/php7.2-fpm.sock:”, host: “112.74.89.xx”
编辑文件/etc/php/7.2/fpm/pool.d/www.conf找到
listen.owner = www-data
listen.group = www-data
;listen.mode = 0660
修改为
;listen.owner = www-data
;listen.group = www-data
listen.mode = 0666
重启下Nginx和php
systemctl restart nginx
systemctl restart php7.2-fpm