搭建-NGINX


Linux服务器环境搭建,NGINX源码编译安装

下载包
wget http://nginx.org/download/nginx-1.10.3.tar.gz(或者直接输入
http://nginx.org/download/nginx-1.10.3.tar.gz 下载,再上传到服务器中,eg: /data/nginx)

我使用上传的方式,将下载好的/nginx-1.10.3.tar.gz拉到指定的一个目录
(使用MobaXterm可以直接拖动文件到服务器中)
在这里插入图片描述
进入 cd /data/nginx
解压
tar -zxvf nginx-1.10.3.tar.gz

安装相关依赖

centos

yum -y install pcre pcre-devel #正则表达相关包
yum -y install zlib zlib-devel
yum install -y openssl openssl-devel
yum -y install autoconf automake make
yum -y install gcc gcc-c++

ubuntu

sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install libtool
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install zlib1g-dev
apt-get install libssl-dev
进入解压的nginx-1.10.3文件夹开始编译(里面会有个configure文件)
在这里插入图片描述
./configure --prefix=/prod/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module
出现 creating objs/Makefile 代表编译成功

安装
make && make install
错误信息objs/Makefile:460: recipe for target ‘objs/src/core/ngx_murmurhash.o’ failed

objs/Makefile文件,将第三行的-Werror去掉就可以

让nginx生效
进入/prod/nginx/sbin输入 ./nginx -t 进行修改配置后的测试;是否通过;
( 可以使用 find / -name “sbin” 命令查找nginx的sbin目录)
在这里插入图片描述
通过后 ./nginx -s reload 命令重新加载nginx配置以生效

常用命令

查找目录

find / -name “sbin”

停止

./nginx -s quit

重新加载

./nginx -s reload

参考配置

user nobody;

worker_processes 8;
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
worker_rlimit_nofile 32768;

events {
worker_connections 3003;
accept_mutex off;
multi_accept on;
use epoll;
}

http {
include mime.types;
default_type application/octet-stream;

 log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                   '$status $body_bytes_sent "$http_referer" '
                   '"$http_user_agent" "$http_x_forwarded_for"';

access_log  /data/logs/nginx/access.log  main;
error_log   /data/logs/nginx/error.log error;


client_max_body_size 50m;

sendfile        on;
tcp_nopush      on;

keepalive_timeout  65;

server_tokens off;

# nginx 转发的是否会忽略‘_’的内容,token上面可能含有这个,这里把他关闭
underscores_in_headers on;

add_header Access-Control-Allow-Headers Authorization;

gzip  on;
gzip_disable "MSIE [1-6]";
gzip_vary off;
gzip_min_length 1k;
gzip_buffers 16 8k;
gzip_comp_level 3;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

charset utf-8;

include /app/nginx/conf/conf.d/*.conf;


# 关闭默认服务器,场景,nginx配置了a.test.com,b.test.com两个域名指向当前服务器IP->1.0.1.1,如果在浏览器中不输入域名,而输入IP 1.0.1.1,如果不做处理,nginx会代理到第一个server上
server {
        listen 80 default;
        return 500;
}

}

# 关闭默认服务器,场景,nginx配置了a.test.com,b.test.com两个域名指向当前服务器IP->1.0.1.1,如果在浏览器中不输入域名,而输入IP 1.0.1.1,如果不做处理,nginx会代理到第一个server上
server {
        listen 80 default;
        return 500;
}

}
Maven 私服参考配置
upstream test{
server 192.168.0.1:7777;
}

server {
listen 80;
server_name www.test.com;

location / {
    proxy_pass  http://192.168.0.1:7777;
    proxy_redirect  off; 
    proxy_set_header Host $host; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For 
    $proxy_add_x_forwarded_for;
}

}
WebSocket
map $http_upgrade $connection_upgrade {
default upgrade;
‘’ close;
}

upstream ws{
server localhost:85;
}

server {
listen 80;
server_name ws.datababy.top;
client_max_body_size 1024M;

location / {
    proxy_pass  http://localhost:85;
    proxy_connect_timeout 3600s;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_read_timeout 3600s;
}

}
Nginx 日志切割脚本
#!/bin/bash

LOG_PATH_HOME="/data/logs/nginx"

YESTERDAY="$(date -d yesterday +%Y-%m-%d)"

NGINX_PATH="/prod/nginx/sbin/nginx"

mv $LOG_PATH_HOME/access.log L O G P A T H H O M E / d a y / {LOG_PATH_HOME}/day/ LOGPATHHOME/day/{YESTERDAY}-access.log

mv $LOG_PATH_HOME/error.log L O G P A T H H O M E / d a y / {LOG_PATH_HOME}/day/ LOGPATHHOME/day/{YESTERDAY}-error.log

${NGINX_PATH} -s reopen

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值