## 管理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     # 查询服务是否开机启动

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部