nginx 配置
whereis nginx
/usr/sbin/nginx -> 执行文件
/etc/nginx/conf.d -> 自定义.conf文件的存放位置
常用操作举例:
重启:
$ /usr/local/nginx/sbin/nginx –s reload
停止:
$ /usr/local/nginx/sbin/nginx –s stop
测试配置文件是否正常:
$ /usr/local/nginx/sbin/nginx –t
反向代理
1. 找到nginx.conf文件
路径:/usr/local/nginx/conf
2. 修改。
server {
listen 80;
server_name; // 你的域名
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /home/hanstore;
index index.html index.htm;
}
location/music/{ // 跟在域名后的路径,匹配到会进行反向代理,指向proxy_pass
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_passhttp://127.0.0.1:8080/; // 服务器上启的本地服务,监听对应的端口
}
location/2048/{
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_passhttp://127.0.0.1:2048/;
}
.......
3. 重启nginx
nginx -s reload
会提示ngnix不是可执行命令,为了方便,先增加环境变量
4.将nginx的启动路径加入到环境变量
A. 打开环境变量所在的文件
vim /etc/profile
B. 在命令模式下按GG至末尾,添加
#set for node.jsexport NODE_HOME=/home/dc2-user/nodeexport PATH=$NODE_HOME/bin:$PATH#set for gitexport PATH=/usr/local/git/bin:$PATH#set for nginxexport PATH=$PATH:/usr/local/nginx/sbin
C. 重新加载环境
source profile
5. 执行nginx -s reload重启nginx
----------------------------------------------------------------------------------------------------------------------------------------------------------
PS
如果nginx中只配置一个server域的话,则nginx是不会去进行server_name的匹配的。因为只有一个server域,也就是这有一个虚拟主机,那么肯定是发送到该nginx的所有请求均是要转发到这一个域的,即便做一次匹配也是没有用的。还不如干脆直接就省了。如果一个http域的server域有多个,nginx才会根据$hostname去匹配server_name进而把请求转发到匹配的server域中。此时的匹配会按照匹配的优先级进行,一旦匹配成功进不会再进行匹配,关于具体的匹配规则可以参见nginx官网提供的文档。
设置二级域名
1.二级域名解析
去域名服务商增加二级域名解析
2.修改nginx.conf文件
增加对应的server
server {
listen 80;
server_name; // 匹配的二级域名地址
location / {
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_pass http://127.0.0.1:1111/;
}
}
server {
listen 80;
server_name~^(www\.)?$; // 正则匹配 , 都能匹配到
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /home/hanstore;
index index.html index.htm;
}
location /music/ {
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_pass http://127.0.0.1:8080/;
}
location /2048/ {
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_pass http://127.0.0.1:2048/;
}
......