nginx需要配置二级域名以达到不同域名达到不同程序的效果时,就需要设置反向代理,
否则就需要使用ip/域名:端口的形式,既不利于记忆,也不美观
解析二级域名
首先要将你想要使用的域名解析到同一ip地址,比如www.halloworlds.cn,wiki.halloworlds.cn
修改Nginx配置文件
首先找到你正在使用的Nginx配置文件,一般他会在/etc/nginx/conf.d
,如果你是用lnmp之类的包安装的,那么创建虚拟主机后域名的vhost配置文件一般会在/usr/local/nginx/conf
下
然后在里面添加一个server块,如:
server {
listen 80;
server_name www.halloworlds.cn;//修改域名
location / {
proxy_pass http://127.0.0.1:8080;修改端口
index index.html index.htm;
}
}
server {
listen 80;
server_name wiki.halloworlds.cn;//修改域名
location / {
proxy_pass http://127.0.0.1:8888;//修改端口
index index.html index.htm;
}
}
//另一种模板
server
{
listen 80;
server_name api.halloworlds.cn;
location / {
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;
proxy_pass http://localhost:9090;
}
}
保存完后,输入nginx -s reload -t
检查配置文件并重启。这样,就能使你在访问www.和wiki.是访问到的实际是8080,8888端口上的程序,请注意按自己需求替换YOU_DOMAIN&PORT
一些问题
还需要注意的是,如果你需要使用https加密通信,记得把监听端口改为443,否则转发不出去的
另外,请找到你正使用的配置文件,有些人使用的是一键部署或者是虚拟主机部署,按照一般的教程去改默认的nginx.conf发现根本没有效果,那是因为你的nginx使用的不是你修改的那个配置文件,如果你需要指定使用某一配置文件启动,请使用
另外,请找到你正使用的配置文件,有些人使用的是一键部署或者是虚拟主机部署,按照一般的教程去改默认的nginx.conf发现根本没有效果,那是因为你的nginx使用的不是你修改的那个配置文件,如果你需要指定使用某一配置文件启动,请使用
nginx -s reload -c /xxx/xxxx/nginx.conf
,-c后接你指定的文件的路径
Comments NOTHING