## 管理NGINX
systemctl命令=service命令+chkconfig命令
systemctl daemon-reload # 更新配置
systemctl start nginx # 启动 服务
systemctl stop nginx # 停止 服务
systemctl restart nginx # 重启 服务
systemctl status nginx # 检查状态
sudo systemctl enable nginx # 开机自启动
sudo systemctl disable nginx # 取消开机运行
systemctl is-enabled nginx # 查询服务是否开机启动
### 短格式命令
nginx -s stop # 停止 Nginx
nginx -s reload # 重新载入配置文件
nginx -s reopen # 重启 Nginx
nginx -t # 查看nginx状态
## 安装Nginx
apt -y install nginx # 非root用户安装时自己在命令前加上sudo
### 配置Nginx
sudo vim /etc/nginx/sites-available/default # 编辑default
:set nu # 打开vim行号显示(未按下i键前,可以直接粘贴命令)
在第44行后面加上index.php
index index.html index.htm index.nginx-debian.html index.php;
56~63行 启用PHP;
location ~ \.php(.*)$ {
include snippets/fastcgi-php.conf;
# 这里的sockets需要根据/var/run/php中实际文件来改:
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
Esc,冒号,wq,enter;
在/etc/nginx的nginx.conf中【include /etc/nginx/conf.d/*.conf;】前面增加
include /var/www/_else/rewrite/do/*.conf; # 使用此处的配置文件,以后配置文件就可以直接放这个目录了
然后重启 服务
## web目录
默认打开 /var/www/html
可以通过修改 /etc/nginx/sites-available/default 中root的路径 修改web目录
如果web目录没有权限,则赋予权限
chmod 777 -R 你的web目录
chown -R www-data:www-data /var/www # 同时递归修改所有者和所属组
nginx -V # 查看版本
### 检查
curl http://127.0.0.1/ngx_status # 打开status页面
-----------------------------------------------------------
active connections – 活跃的连接数量
server accepts handled requests — 总共处理了11989个连接 , 成功创建11989次握手, 总共处理了11991个请求
reading — 读取客户端的连接数.
writing — 响应数据到客户端的数量
waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接.
-----------------------------------------------------------
## 问题集
问题:
nginx [warn]: conflicting server name“b.ff" on 0.0.0.0:80 ignored
nginx:[警告] [::]:80 上的服务器名称“b.ff”冲突,忽略
方法:
检查:/etc/nginx/sites-available/default文件和其它的配置文件,应该有重复绑定域名的,找到,修改或删除即可。
注意:必须有且只有一个域名作为默认的(listen 80 default_server;)。
问题:
Failed to start A high performance web server and a reverse proxy server.
无法启动高性能 Web 服务器和反向代理服务器。
bind() to 0.0.0.0:80 failed (98: Address already in use)
绑定到 0.0.0.0:80 失败(98:地址已在使用中)
方法:
netstat -apn | grep 80 # 查看是哪个程序占用了这个端口。
tcp 0 0 10.0.0.32:42012 35.224.170.84:80 TIME_WAIT
tcp6 0 0 :::80 :::* LISTEN 13415/apache2
如果是apache2 占用,则让它重启时不启动即可
systemctl stop apache2 # 停止 服务
sudo systemctl disable apache2 # 取消开机运行
systemctl daemon-reload # 更新配置
systemctl is-enabled apache2 # 查询服务是否开机启动
发表评论 取消回复