yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++
yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
mkdir Nginx
cd Nginx
tar tar -xzvf nginx-1.9.9.tar.gz
cd nginx-1.9.9/
./configure
make
make install
cat /usr/local/nginx/logs/nginx.pid
ps -ef | grep nginx
TERM 或 INT | 快速停止 Nginx 服务。 |
QUIT | 平缓停止 Nginx 服务。 |
HUP | "平滑重启":使用新的配置文件启动进程,之后平缓停止原有进程。 |
USR1 | 重新打开日志文件,常用于日志切割。 |
USR2 | "平滑升级":使用新版本的 Nginx 文件启动服务,之后平滑停止原有 Nginx。 |
WINCH | 平缓停止 worker process,用于 Nginx 服务器平滑升级。 |
kill SIGNAL PID
kill SIGNAL `cat "filepath"`
SIGNAL 用于指定信号,filepath 为 nginx.pid 的路径
-v | 打印版本号 |
-V | 打印版本号与配置 |
-t | 测试正确性并退出 |
-q | 测试配置时只显示错误 |
-p | 指定服务器路径前置 |
-c | 指定 Nginx 配置文件路径 |
-g | 指定 Nginx 附加配置路径 |
./nginx -s stop 快速停止 Nginx 服务。
./nginx -s quit 平缓停止 Nginx 服务。
./nginx -s reload 重新加载配置文件,使用一个新的worker进程启动一个新的worker进程,优平缓关闭旧的worker进程。
kill -s TEAM | INT |QUIT `cat /usr/local/nginx/logs/nginx.pid`
kill -9 | SIGKILL `cat /usr/local/nginx/logs/nginx.pid`
./nginx -p newinstallpath
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
全局块主要设置一些影响 Nginx 服务器整体运行的指令
events 块涉及的指令主要影响 Nginx 与服务器用户的网络连接。
http 块是 Nginx 服务器配置中的重要组成部分,代理、缓存和日志定义等绝大多数的功能和第三方模块的配置都放在这个模块中。
server 块使得 Nginx 服务器在同一台机器上运行一个 Nginx 进程就可以运行多个网站
每个 http 块可以包含多个 server 块,每个 server 块就相当于一个虚拟主机
每个 server 块可以包含多个 location块,location块的主要作用是基于 Nginx 服务器收到的请求字符串,随除虚拟主机名称之外的字符串进行匹配,对特定的请求进行处理。
worker_process number |auto
pid file
error_log file | stderr [debug|info|notice|warn|error|crit|alert|emerg]
include file
accept_mutex on | off
Nginx 提供多种事件驱动模型来处理网络消息,语法结构为
use method
method 可选择的内容有:select,poll,kqueue,epoll,rtsig,/dev/poll,eventport
worker_connections number
include mime.type;
default_type application/octet-stream
default_type mime-type
mime-type 为 types 块中定义的 MEME-type 如果不加次指令,默认为 test/plain
path 配置服务日志的文件存放路径和名称
format,可选项,自定义服务日志的格式字符串,也可以通过"格式的名称"使用 log_format指令定义好的格式。"格式串的名称" 在 log_format指令中定义。
size,配置临时缓冲区的大小。
listen address[:port] [default_server] [setfib=number] [backlog=number] [rcvbuf=szie] [sndbuf=size] [deferred]
[accept_file=filter] [bind] [ssl]
listen port [default_server] [setfib=number] [backlog=number] [rcvbuf=szie] [sndbuf=size] [accept_file=filter]
[deferred] [bind] [ipv6only=on/off] [ssl]
listen *:80 | *:8000
server_name name name …;
ifconfig ens33:0 192.168.1.125 netmask 255.255.255.0 up
ifconfig ens33:1 192.168.1.126 netmask 255.255.255.0 up
加入开机启动项:
echo ‘ifconfig ens33:0 192.168.1.125 netmask 255.255.255.0 up‘ >/etc/rc.local
echo ‘ifconfig ens33:1 192.168.1.126 netmask 255.255.255.0 up‘ >/etc/rc.local
location [ = | ~ | ~* | ^~ ] uri {…}
root path;
location /data/
{
root /locationestl
alias path; path 为修改后的根目录
index file …;
? ?
error_page code ... [=[]response] uri
allow address | CIDR | all;
name1:password1
name2:password2:comment
name3:password3
htpasswd -c -d /nginx/conf/pass_file username
? ?
###全局快开始###
? ?
user nobody nobody;????????????????#配置允许运行 Nginx 服务器的用户和用户组
? ?
worker_processes 3;????????????????#配置允许 Nginx 进程 =生成的 worker process 数
? ?
error_log logs/error.logs;????????????????#配置 Nginx 服务器运行对错误日志的存放路径。
? ?
pid logs/nginx.pid;????????#配置 Nginx 服务器运行时的 PID 文件存放路径和名称
? ?
###全局块结束###
###events 块结束 ###
events
{
use epoll;????????????????#配置事件驱动模型
? ?
worker_connections 1024;????????????????#配置最大连接数
}
###events块结束 ###
### http 块开始 ###
http{
include mime.types;????????????????#定义 MIME-Type
? ?
default_type application/octet-stream;
? ?
sendfile on;????????????????#配置允许使用 sendfile 方式传输。
? ?
keepalive_timeout 65;????????????????#配置连接超时时间
? ?
log_format access.log????????????????#配置请求处理日志法的格式
‘$remote_addr-[$time_local]-"$request"-"$http_user-agent"‘;
? ?
#### server 块 开始 ####
####配置虚拟主机
server{
listen 8081;????????????????#配置监听端口和主机名称
server_name myServer1;
? ?
access_log /myweb/server1/log/access.log;????????????????#配置请求处理日志存放路径
error_page 404 /404.html;????????????????#配置错误页面
location /server1/location1 {????????????????#配置 /server1/location1 请求的 location
root /myweb;
index index.svr1-loc1.html;
}
location /server1/location2{
root /myweb;
index index.svr1-loc2.html;
} ????????
}
server {
listen 8082;????????????????#配置监听端口和主机名称
server_name 192.168.1.120;
? ?
access_log /myweb/server2/log/access.log;????????????????#配置请求处理日志存放路径
error_page 404 /404.html;????????????????#配置错误页面
location /server2/location1 {????????????????#配置 /server1/location1 请求的 location
root /myweb;
index index.svr2-loc1.html;
}
location /server2/location2{
root /myweb;
index index.svr2-loc2.html;
}
location = /404.html{
root /myweb/;
index 404.html;
}
}????????
}
[root@localhost logs]# tree /myweb
/myweb
├── 404.html
├── server1
│?? ├── location1
│?? │?? └── index.svr1-loc1.html
│?? ├── location2
│?? │?? └── index.svr1-loc2.html
│?? └── log
│?? └── access.log
└── server2
├── location1
│?? └── index.svr2-loc1.html
├── location2
│?? └── index.svr2-loc2.html
└── log
└── access.log
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
原文:https://www.cnblogs.com/leiruipeng/p/12095779.html