怎么保存退出vi编辑: | 按 ESC键 跳到命令模式 |
---|---|
vi nginx.conf | 查看文件, 按 insert 修改文件 |
:w | 保存文件但不退出 vi |
:w file | 将修改另外保存到file中,不退出 vi |
:wq | 保存文件并退出vi |
:wq! | 强制保存文件,并退出vi |
:q | 不保存文件,强制退出vi |
:e! | 放弃所有修改,从上次保存文件开始再编辑 |
先按 esc -退出模式,再按 shift z 两次退出编辑状态 | sudo 命令 // sudo nginx -s reload -重新加载配置文件 |
sudo chmod -R 777 /etc/nginx -目录权限 | sudo yum install nginx -下载nginx;sudo yum install epel-release -自动配置yum的软件仓库 |
- amazon-linux-extras list | grep nginx -亚马逊
问题错误
1、 Nginx编译错误
nginx.pid 丢失?
方式1: 跳转 处理 nginx.pid 问题
方式2:
- 在 logs 里创建 nginx.pid 文件;
- nginx同级文件夹,运行方法:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
Nginx编译错误
:objs/src/os/unix/ngx_user.o
方案:[root@iZgt88z6l1kvd7Z nginx-1.10.1]# vi src/os/unix/ngx_user.c
把第 36 行注释掉,再次make就好了
// 1、nginx 安装时候报错:make: *** No rule to make target `build', needed by `default'. Stop.
yum install -y pcre pcre-devel openssl openssl-devel gcc gcc gcc-c++ ncurses-devel perl
// 2、当 linux安装时出现./configure: error: C compiler cc is not found 时:
yum -y install gcc gcc-c++ autoconf automake make
2、 Nginx编译错误
404?
问题: 写好的页面通过nginx作为代理的服务器给别的同事看的时候发现了新写的页面打开就404,并且从其他页面跳转可以看到但是刷新页面就404。
方法:
try_files $uri $uri/ /index.html;
在 nginx配置 里添加 vue-route 的 跳转设置(这里首页是index.html,如果是index.php就在下面对应位置替换)
server {
listen 80; # 自己设置的端口号
server_name 192.168.XXX.XXX; # 在黑窗口下ipconifg后出现的IPv4地址复制
location /{
root /webapps/dist; # 项目打包后的路径
index index.html index.htm;
try_files $uri $uri/ /index.html; # 解决刷新页面变成404问题的代码
}
}
---
// 或者
server {
location / {
try_files $uri $uri/ @router; # try_files $uri $uri/ @router;
index index.html;
}
location @router {
rewrite ^.*$ /index.html last;
}
# 设置 expires 后,防止favicon 丢失
location ~ ^/favicon\.ico$ {
root /webapps/dist;
}
}
负载均衡
http {
#【 1 】upstream 配置服务器名
upstream load_balance_server{
#ip_hash;//根据ip配分到固定的服务器,防止负载均衡时不能共享内存。浪费带宽
server 127.0.0.1:8000;
#配置被转发的服务器,其中的 ip 推荐使用内网 ip,可以提高访问速度
#weight 为权重,数字越大,权越高
#下面的配置代表请求中三分之一分发给第一台服务器,三分之二的请求分发给第二台服务器。
server 127.0.0.1:8001 weight=2;
}
server {
location / {
#【 2 】配置代理的地址,重点是这里,将 “代理” 转发给上方 “upstream” 中配置的两台服务器去处理
#这里的 http:// 后的值必须和 upstream 后面的值一致
proxy_pass http://load_balance_server; #请求转向load_balance_server 定义的服务器列表
root html;
index index.html index.htm;
add_header X-Content-Type-Options nosniff;
proxy_set_header X-scheme $scheme;
#作用是我们可以获取到客户端的真实ip
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
proxy_hide_header X-Powered-By;
proxy_hide_header Vary;
}
}
}