Fork me on GitHub

Nginx入门

Nginx入门

Linux下Nginx环境搭建

安装Nginx所需依赖包

  • gcc
  • gcc-c++
  • zlib
  • zlib-devel
  • openssl
  • openssl-devel
  • pcre
  • pcre-devel

Linux可以联网,并且镜像源都没问题,直接使用yum命令安装.超方便.

1
2
3
4
5
6
7
> yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel

> wget https://sourceforge.net/projects/pcre/files/pcre/7.8/pcre-7.8.tar.gz

> wget https://sourceforge.net/projects/libpng/files/zlib/1.2.11/zlib-1.2.11.tar.gz/download?use_mirror=nchc&download=

> wget http://nginx.org/download/nginx-1.10.3.tar.gz

pcre手动下载地址

zlib手动下载地址

nginx手动下载地址

安装Nginx

安装前配置

1
2
./configure
make && make install

启动关闭Nginx

  • 检查配置文件是否正确

    1
    nginx -t
  • 查看所有编译选项

    1
    nginx -v
  • 启动

    1
    nginx
  • 关闭

    1
    2
    3
    nginx -s stop
    pkill nginx
    Windos关闭有点坑,使用命令关闭后服务依然存在.需要批量杀--> taskkill /fi "imagename eq nginx.EXE" /f
  • 重启

    1
    nginx -s reload

Nginx配置说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
#全区配置区


#定义Nginx运行的用户和用户组
#user nobody;
#Nginx进程数,建议设置为等于CPU总核心数
worker_processes 3;


#全局错误日志定义类型
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;


#进程PID文件
#pid logs/nginx.pid;


#用来指定Nginx的工作模式及连接数上限(包含所有处理连接的设置)
events {
#事件模块指令,指定Nginx的工作模式
#use epoll;
#定义Nginx每个进程最大连接数
worker_connections 1024;
}


http {
#导入文件扩展名与文件类型映射表(如果映射表找不到,使用默认配置)
include mime.types;
#默认配置
default_type application/octet-stream;
client_max_body_size 30m;


#定义日志文件输出内容
log_format main '$remote_addr - $remote_user [$time_local] "$request" a"$request_body"a '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';


#日志位置
access_log logs/access.log main;


#开启高效文件传输模式(普通应用必须设为on,如果是下载等应用可设置off)
sendfile on;


#和传输模式搭配使用
#tcp_nopush on;


#长连接超时时间,单位是秒
#keepalive_timeout 0;
keepalive_timeout 65;


#开启gzip雅俗输出
gzip on;


# 负载均衡配置
upstream dev {
ip_hash;
server localhost:8080 weight=1;
server localhost:8081 weight=5;
}


#虚拟主机的配置
server {
#监听端口
listen 8088;
#域名设置,可以多个,用空格隔开
server_name localhost;

#字符集设置(这个不用打开,老毛子的)
#charset koi8-r;

#access_log logs/host.access.log main;

# 精确匹配 / ,配置首页
location /{
access_log logs/dm.log main;
proxy_pass http://dev;
}

location ~ .*\.(html|htm|ico|png|jpg|jpeg|js|css|bmp|gif)$ {
proxy_pass http://dev;
}


# 不区分大小写的正则匹配,网站静态文件
#location ~* \.(gif|jpg|png|js|css)$ {
# root D:\apache-tomcat-8.5.11\webapps\dmbj1;
# #proxy_pass http://localhost:8080; # 正则匹配中,proxy_pass 对应的代理路径中不能包含 / ,如http://localhost:8088/是错误的
#}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}


# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;

# location / {
# root html;
# index index.html index.htm;
# }
#}


# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;

# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;

# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;

# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;

# location / {
# root html;
# index index.html index.htm;
# }
#}

}
-------------本文结束感谢您的阅读-------------

本文标题:Nginx入门

文章作者:Li Sai

发布时间:2018年07月07日 - 10:07

最后更新:2018年07月07日 - 13:07

原始链接:https://li123sai.github.io/2018/07/07/nginx入门/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

undefined