nginx的反向代理配置

在安装nginx时出现错误。

"/etc/nginx/nginx.conf" failed (2: No such file or directory)

如果被告知没有配置文件,就将它们全部删除并重新安装。

sudo apt-get remove --purge nginx nginx-full nginx-common
sudo apt-get sintall nginx

反向代理配置

将Apache的端口更改

#listen 80
listen 8080

更改文档根目录

#好きなところに変更
DocumentRoot:/var/www/html

修改Apache虚拟主机的端口

#<VirtualHost *:80>
<VirtualHost *:8080>

在Nginx中配置反向代理。

server {
  listen 80;               # ポート番号80番でアクセスされたら
  server_name localhost;   # http://localhost でアクセスされたら

  location / {
    proxy_pass http://127.0.0.1:8080; # どこにアクセスさせるか
    proxy_redirect                          off;
    proxy_set_header Host                   $host;
    proxy_set_header X-Real-IP              $remote_addr;
    proxy_set_header X-Forwarded-Host       $host;
    proxy_set_header X-Forwarded-Server     $host;
    proxy_set_header X-Forwarded-Proto      $scheme;
    proxy_set_header X-Forwarded-For        $proxy_add_x_forwarded_for;
  }
}

nginx的配置检查命令

请检查上述配置文件中是否存在语法错误。

sudo nginx -t
nginx: [emerg] could not build server_names_hash, you should increase server_names_hash_bucket_size: 32
nginx: configuration file /etc/nginx/nginx.conf test failed

因为服务器名称被说成太长了,所以下面做修正。

http{
...
   #このコメントを外す
   server_names_hash_bucket_size 64;
...
}

然后进行检查

 $ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

这样就可以了

在发生问题时可能有用的命令

检查nginx配置的命令

sudo nginx -t

确认正在运动的命令。

ps aux | grep [動いているか確認したキーワード]

端口检查

#80番ポートが何に使用されているか
lsof -i:80

请参考

    • Nginxのリーバスプロキシ化(Apacheと共存)

 

    nginxでサーバ名が長いって怒られた
广告
将在 10 秒后关闭
bannerAds