nginx相关命令
启动
sudo nginx
编辑配置nginx.conf文件
sudo vim /etc/nginx/nginx.conf
user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
# multi_accept on; }
http {
# Basic Settings
# 支持文件发送(下载)
#sendfile on;
sendfile off;
# 此选项允许或禁止使用socke的TCP_CORK的选项(发送数据包前先缓存数据),此选项仅在使用sendfile的时候使用
tcp_nopush on;
tcp_nodelay on;
# 连接保持超时时间,单位是秒
keepalive_timeout 6000;
types_hash_max_size 2048;
# server_tokens off;
client_max_body_size 120m;
client_body_buffer_size 2048m;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# SSL Settings
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
# Logging Settings
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
# 支持文件发送(下载)
# 此选项允许或禁止使用socke的TCP_CORK的选项(发送数据包前先缓存数据),此选项仅在使用sendfile的时候使用
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
# Web 服务的监听配置
server {
listen 9200; # 监听地址及端口,主机ip不加则默认监听全部
server_name localhost; # 站点域名,可以有多个,用空格隔开
charset utf-8; # 网页的默认字符集
# 根目录配置
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:5000/;
}
location /vue/ {
add_header Cache-Control no-store; # 告诉浏览器不要缓存
root /data/lshib/Vue_Flask_Detection/vue_font/dist/;
index index.html index.htm; # 默认首页文件名
}
location /api/ {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:5000/;
# 可以配置多个Web服务的监听
server {
listen 9222; # 监听地址及端口,主机ip不加则默认监听全部
server_name localhost; # 站点域名,可以有多个,用空格隔开
charset utf-8; # 网页的默认字符集
# 根目录配置
location / {
root /data/csy/REID/vue_font/dist/;
index index.html index.htm; # 默认首页文件名
}
location /api/ {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:5050/;
}
}
# Virtual Host Configs
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
编辑配置文件后使其生效
sudo nginx -t -c /etc/nginx/nginx.conf
停止nginx
sudo nginx -s stop
遇到的问题以及解决方法
问题:无法重启或关闭nginx,因为找不到pid
方法:
给nginx.conf配置中的用户(假设user 是nginx)对应目录或nginx.pid的所有权
1)nginx.pid 随便给个值 1
echo 1 > /run/nginx.pid
2)给权限
sudo chown nginx:nginx vim /run/nginx.pid
问题:遇到权限不够
方法:
su root
问题:端口占用
方法:
找到正在运行的nginx进程,强制结束
(1)查看nginx运行中线程
ps aux|grep nginx
杀死第一个
master只有一个,只是用来维护worker进程的,worker可以有多个
kill -9 13210
问题:Nginx更新后浏览器内容不更新
方法:
(1)F12开启开发者模式
(2)鼠标右击刷新,选择清空缓存并硬性重新加载(以Chrome为例)