原文链接:https://blog.csdn.net/zhezhebie/article/details/73459874

---------------------------------------------

配置文件下载地址:https://download.csdn.net/download/zengmingen/10462400

共用80端口的,要server_name不同。如果用域名,要配置 hosts。

---------------------------------------------------------

这两天自己编译lnmp环境,以前都是在windows下面用配置好了的环境,并没有遇到什么问题,今天自己去弄,问题多多,配置域名的时候就遇到很多问题:

网上的说法也是乱七八糟,各种超长配置,叫你复制粘贴。废话不多说,直接说我是怎么解决这些问题的:

1、修改主配置文件:

只用改一个地方: 
在http模块里面加入你要引用的虚拟主机配置文件目录即可: 
例如:include /etc/nginx/vhosts/*.conf;

http {log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile            on;tcp_nopush          on;tcp_nodelay         on;keepalive_timeout   65;types_hash_max_size 2048;include             /etc/nginx/mime.types;default_type        application/octet-stream;include /etc/nginx/vhosts/*.conf;  //就这里加一行就可以了
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

2、建立虚拟主机配置目录:

/etc/nginx/ 下面建立vhosts 文件夹,专门放置网站的配置文件。 
贴一个我的配置上来:

/etc/nginx/vhosts/mytest.com.conf
  • 1
server {listen       80 ;   //注意这里,要把默认的那个default_server去掉,因为我们在下面要单独配置域名访问,所以这里不要留default_server,不然会报错。server_name  mytest.com  mytest111.com;  //这里写你想设置的域名,可以写多个,与名之间用空格隔开root         /mnt/share/mytest.com;   //这里是你虚拟机的根目录,写绝对路径# Load configuration files for the default server block.location / {index  index.php index.html index.htm;  //这里配置默认访问的页面}location ~* \.php$ {   //这里配置php解析.php文件fastcgi_index   index.php;fastcgi_pass    127.0.0.1:9000;include         fastcgi_params;fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;}error_page 404 /404.html;   //默认的错误页面location = /40x.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

再来一个:

server {listen       80;server_name  www.xx.com;root         D:/phpStudy/WWW/api-xxx;index  index.html index.htm index.php;location / {try_files $uri $uri/ /index.php?$query_string;}location = /favicon.ico {log_not_found off;}location ~ \.php$ {fastcgi_pass   127.0.0.1:9000;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;include        fastcgi_params;}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

3、还想再建其他虚拟机,一样的,复制上面那个文件,修改我标注的的那几个地方即可!

4、虚拟机配置文件配置好了之后,还需要在linux下面的hosts文件下面加上以上域名,不然还是会访问外网的哦。

vim /etc/hosts
  • 1
127.0.0.1   mytest11.com
127.0.0.1   mytest.com
  • 1
  • 2
  • 3

5、如果我们是要在windows下面访问虚拟机里面的linux下面的网站,那么还要在windows下面配置hosts文件,所有的域名都指向linux服务器,例如:

192.168.2.111   mytest11.com
192.168.2.111   mytest.com
  • 1
  • 2

经过以上5步就肯定可以访问了,再不能的检查一次,还是不能解决问题的,直接给我留言。

6、遇到的问题:

nginx: [emerg] a duplicate default server for 0.0.0.0:80 in /etc/nginx/vhosts/
  • 1

遇到这个问题,肯定是:

server {listen       80 
  • 1
  • 2

这个地方80后面的东西都去掉,只留下端口号80,去掉就可以解决这个问题了。

nginx配置多个站点共用80端口相关推荐

  1. Nginx配置模块详解及多站点共用80端口案例

    nginx配置 nginx配置文件主要分为四个部分: main(全局设置) http ( ) upstream(负载均衡服务器设置) server(主机设置) location(URL匹配特点位置的设 ...

  2. ngrok+nginx 实现内网穿透 共用80端口

    内网穿透能干嘛: 穿透后,你的机器指定端口就直接暴露在外网上,3389,vnc,web服务等等任何服务都可以支持.微信开发需要回调web服务器接口,如果开发机器在内网,就无法调试. 原理 外网服务器A ...

  3. Nginx配置SSL 重定向到非80端口

    准备工作: 域名: bryantwuzhongrui.cn 证书(绑定的域名) 服务器搭建好了Nginx 第一步:把下载的证书中 上传到服务器nginx文件的conf文件夹中 /usr/local/n ...

  4. IIS和tomcat共用80端口

    IIS和tomcat共用80端口 很多机器都需要同时使用tomcat和iis两个服务器以部署不同的网站,而解决共用80端口的问题也经常遇到,今天实际操作了一回,以下是具体步骤: 实现tomcat和ii ...

  5. IIS和Tomcat共用80端口的解决方案

    下列步骤前请先保证http://127.0.0.1/能够访问IIS下部署的80站点,http://127.0.0.1:8080/能够正常打开tomcat 1.下载isapi_redirect.dll ...

  6. 利用Apache端口转发实现虚拟主机服务器php+jsp共用80端口

    由于某些蛋疼的事儿,服务器上面必须同时跑jsp和php,更蛋疼的是两个服务器要共用80端口!当然,郁闷的是还必须建立相对应的虚拟主机!今天,待小弟来解决此问题! 需求分析: 1,实现虚拟主机; 2,实 ...

  7. Nginx 配置一个虚拟站点

    Nginx 配置一个虚拟站点 转载于:https://blog.51cto.com/771541213/1772134

  8. Nginx配置共用80端口|端口转发端口映射

    problem 1.http默认端口为80 2.一台服务器有多个服务,都想监听80 3.有些服务限用指定端口,修改麻烦 4.外网访问域名时要加端口,很麻烦 solution 1.先在两个空闲的端口上分 ...

  9. (转)IIS tomcat共用80端口解决一个IP多个域名:使用Nginx反向代理方式使两者兼容...

    from :http://www.cnblogs.com/wuyou/p/3455619.html 环境: windows server 2003,IIS6服务器,Tomcat7服务器 域名有几个: ...

最新文章

  1. hive lock命令的使用
  2. Centos修改系统语言
  3. poi写入Excel
  4. 【Android开发经验】移动设备的“声波通信/验证”的实现——SinVoice开源项目介绍(一)
  5. java 判断qq_Java检测QQ是否在线状态
  6. Sqlserver高版本还原到低版本方法(Sqlserver2012到SqlServer2008 R2)
  7. 包治百病 | 如何将一个.NET Core类库发布到NuGet
  8. CentOS7.0安装Nginx 1.7.4
  9. [Java] 蓝桥杯ADV-176 算法提高 陶陶摘苹果
  10. ul 中的li取值问题
  11. 关于只针对ie7浏览器的css问题
  12. [转载]Geronimo 叛逆者,第 8 部分: 未来的 Apache Geronimo
  13. BZOJ4134: ljw和lzr的hack比赛
  14. 全渠道精准营销其实不难?从这几个方面入手进行了!
  15. Mac关闭某个软件的所有窗口
  16. JNI-开发注意细节点
  17. 整理一些全志 D1 / D1s 的 DisplayEngine / LCD / HDMI 常用骚操作
  18. Ceph集群搭建及其运用(块存储、ceph文件系统)
  19. 双方都在线,qq总是离线发文件
  20. 金字塔打印(C语言)

热门文章

  1. spd不能修改服务器内存条的原因,修改内存SPD 解决蓝屏问题
  2. c语言猜四位数游戏猜10次,C语言猜数字游戏--随机生成4个不相同的数字从小到大排序,用户开始游戏,如果用户猜对数字和数字对应的位置,界面回馈A,如果数字正确位置不正确,则回馈B...
  3. java 审计 漏洞函数_Java Web代码审计流程与漏洞函数
  4. 利用Maven逆向工程生成mybatis映射文件
  5. js怎么制作html的主题,用HTML和CSS以及JS制作简单的网页菜单界面的代码
  6. Windows系统下,Android Studio的安装
  7. ROS与Android的通信
  8. oracle move 换用户,Oracle move方法释放delete后的表空间
  9. 完成数独的算法 python_python实现数独算法实例
  10. lableimg闪退_CV学习笔记(二十五):数据集标注与制作