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 XXX.com; // 你的域名
#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_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/;
}
.......
3. 重启nginx
nginx -s reload
会提示ngnix不是可执行命令,为了方便,先增加环境变量
4.将nginx的启动路径加入到环境变量
A. 打开环境变量所在的文件
vim /etc/profile
B. 在命令模式下按GG至末尾,添加
#set for node.js
export NODE_HOME=/home/dc2-user/node
export PATH=$NODE_HOME/bin:$PATH
#set for git
export PATH=/usr/local/git/bin:$PATH
#set for nginx
export 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 music.awesomehan.com; // 匹配的二级域名地址
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\.)?awesomehan.com$; // 正则匹配 www.awesomehan.com, awesomehan.com都能匹配到
#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/;
}
......