安装
确认环境可用
-
确认系统网络正常
-
确认yum工具可用
-
确认关闭iptables规则,避免屏蔽了IP
- iptables -L查看是否有规则
- iptables -F关闭规则
- iptables -t nat -L查看规则
- iptables -t nat -F
-
确认停用selinux,对服务器做安全请求的规避
- getenforce查看se是否开启了
- getenforce 0关闭se
依赖安装
yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake
sudo yum -y install yum-utils
Nignx安装
- 创建nginx仓库文件
vim /etc/yum.repos.d/nginx.repo
- 将下面的内容粘贴到nginx.repo文件里
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
- 执行安装:sudo yum install nginx
启动与关闭
- 关闭:nginx -s stop
- 启动:nginx -c
- 重启:nginx -s reload
查看正在监听的端口
ss -luntp
配置
运行配置
- 查看cpu的核心数
# 查看物理核
cat /proc/cpuinfo|grep "physical id"|sort|uniq|wc -l
# 查看CPU的核心
cat /proc/cpuinfo|grep "cpu cores"|sort|uniq
- 将核心数量配置nginx.conf文件的 worker_processes 上 ,物理核 * CPU核心数。
请求配置
http {
# 引用映射表,MIME全称:Multipurpose Internet Mail Extension
include mime.types;
# 定义响应的类型,/前的是主类型,/之后的是该主类型下的子类型。
default_type application/octet-stream;
# 高效传输静态文件,文件直接从内核拷贝到socket不需要经过用户空间
sendfile on;
# tcp 连接有效时长,避免重新建立连接
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
# location 匹配 http://localhost/
location / {
# 如果请求地址:http://localhost/zhangsan
# alias:替换location设置的路径。例:/usr/software/dist/
# root:拼接location的路径。例:/usr/software/dist/zhangsan
root /usr/software/dist/;
# 按照 try_files 后面从左到右查看文件是否存在。
try_files $uri $uri/ /index.html;
# 匹配alias或root路径下的文件名称
index index.html index.htm;
}
location /prod-api/{
# 重新设置请求的头信息
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
# 设置用户的真实IP地址
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 要跳转的地址,尾部/结束代表绝对路径。如:http://localhost:80/
# 尾部非/结束,代表相对路径,会拼接用户请求的地址,如 http://localhost:80/prod-api/...
proxy_pass http://localhost:8080/;
}
# 当出现异常状态 500 502.... 时,跳转 /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}