我在centos7 上面搭建了LNMP环境. 我配置好后.在内网测试可以访问.但是绑定域名后,从外网就访问不了.
现在运营商限制,比如80就是打不开的。所以你映射了80是没有用的。
分二步。首先查看设置是否正常。
在本地Linux或者Windows的Client设置本地Host记录。设置域名指向对应的IP。对应nginx上设置域名指向。
这样就可以通过Client。直接输入域名访问。应用。
这步Ok了。说明你的设定就没有问题。
第二步,如果你的网络是NAT映射关系,得先将内部Nginx的Web服务器映射出去,通过外网的Client Machine,telnet 外网IP 80,查看是否通讯。通常没有申请,没有备案是打不开的。
如果可以。打开,询问运营商此IP是不是被限制。
解决方法
首先看看是不是防火墙开启了;
本地试下端口是否可访问telnet 1921684155 80;
CentOS 7默认使用的是firewall作为防火墙,这里改为iptables防火墙。
firewall:
systemctl start firewalldservice#启动firewall
systemctl stop firewalldservice#停止firewall
systemctl disable firewalldservice#禁止firewall开机启动
在centos下尝试使用$curl http://127001命令访问nginx。确定是否可以访问。
Nginx ("engine x") 是一个高性能的HTTP和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Ramblerru 站点开发的,第一个公开版本010发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 104发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、新浪、网易、腾讯、 淘宝等。
负载均衡
先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可。
测试环境
由于没有服务器,所以本次测试直接host指定域名,然后在VMware里安装了三台CentOS。
测试域名 :acom
A服务器IP :1921685149 (主)
B服务器IP :192168527
C服务器IP :1921685126
部署思路
A服务器做为主服务器,域名直接解析到A服务器(1921685149)上,由A服务器负载均衡到B服务器(192168527)与C服务器(1921685126)上。
域名解析
由于不是真实环境,域名就随便使用一个acom用作测试,所以acom的解析只能在hosts文件设置。
打开:C:WindowsSystem32driversetchosts
在末尾添加
1921685149 acom
保存退出,然后启动命令模式ping下看看是否已设置成功
从截图上看已成功将acom解析到1921685149IP
A服务器nginxconf设置
打开nginxconf,文件位置在nginx安装目录的conf目录下。
在http段加入以下代码
upstream acom {
server 1921685126:80;
server 192168527:80;
}
server{
listen 80;
server_name acom;
location / {
proxy_pass http://acom;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
保存重启nginx
B、C服务器nginxconf设置
打开nginxconfi,在http段加入以下代码
server{
listen 80;
server_name acom;
index indexhtml;
root /data0/htdocs/www;
}
保存重启nginx
测试
当访问acom的时候,为了区分是转向哪台服务器处理我分别在B、C服务器下写一个不同内容的indexhtml文件,以作区分。
打开浏览器访问acom结果,刷新会发现所有的请求均分别被主服务器(1921685149)分配到B服务器(192168527)与C服务器(1921685126)上,实现了负载均衡效果。
B服务器处理页面
C服务器处理页面
假如其中一台服务器宕机会怎样?
当某台服务器宕机了,是否会影响访问呢?
我们先来看看实例,根据以上例子,假设C服务器1921685126这台机子宕机了(由于无法模拟宕机,所以我就把C服务器关机)然后再来访问看看。
访问结果:
我们发现,虽然C服务器(1921685126)宕机了,但不影响网站访问。这样,就不会担心在负载均衡模式下因为某台机子宕机而拖累整个站点了。
如果bcom也要设置负载均衡怎么办?
很简单,跟acom设置一样。如下:
假设bcom的主服务器IP是1921685149,负载均衡到1921685150和1921685151机器上
现将域名bcom解析到1921685149IP上。
在主服务器(1921685149)的nginxconf加入以下代码:
upstream bcom {
server 1921685150:80;
server 1921685151:80;
}
server{
listen 80;
server_name bcom;
location / {
proxy_pass http://bcom;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
保存重启nginx
在1921685150与1921685151机器上设置nginx,打开nginxconf在末尾添加以下代码:
server{
listen 80;
server_name bcom;
index indexhtml;
root /data0/htdocs/www;
}
保存重启nginx
完成以后步骤后即可实现bcom的负载均衡配置。
主服务器不能提供服务吗?
以上例子中,我们都是应用到了主服务器负载均衡到其它服务器上,那么主服务器本身能不能也加在服务器列表中,这样就不会白白浪费拿一台服务器纯当做转发功能,而是也参与到提供服务中来。
如以上案例三台服务器:
A服务器IP :1921685149 (主)
B服务器IP :192168527
C服务器IP :1921685126
我们把域名解析到A服务器,然后由A服务器转发到B服务器与C服务器,那么A服务器只做一个转发功能,现在我们让A服务器也提供站点服务。
我们先来分析一下,如果添加主服务器到upstream中,那么可能会有以下两种情况发生:
1、主服务器转发到了其它IP上,其它IP服务器正常处理;
2、主服务器转发到了自己IP上,然后又进到主服务器分配IP那里,假如一直分配到本机,则会造成一个死循环。
怎么解决这个问题呢?因为80端口已经用来监听负载均衡的处理,那么本服务器上就不能再使用80端口来处理acom的访问请求,得用一个新的。于是我们把主服务器的nginxconf加入以下一段代码:
server{
listen 8080;
server_name acom;
index indexhtml;
root /data0/htdocs/www;
}
重启nginx,在浏览器输入acom:8080试试看能不能访问。结果可以正常访问
既然能正常访问,那么我们就可以把主服务器添加到upstream中,但是端口要改一下,如下代码:
upstream acom {
server 1921685126:80;
server 192168527:80;
server 127001:8080;
}
由于这里可以添加主服务器IP1921685149或者127001均可以,都表示访问自己。
重启Nginx,然后再来访问acom看看会不会分配到主服务器上。
1 安装服务器操作系统:选择一种适用于服务器的操作系统,如Linux发行版(例如Ubuntu、CentOS)或Windows Server。安装操作系统时,确保选择服务器版本,并进行基本的初始化设置。
2 安装Web服务器软件:常见的Web服务器软件有Apache和Nginx。选择其中一种并按照所选软件的官方文档进行安装。
3 安装数据库服务器:虚拟主机管理系统需要使用数据库来存储用户和站点的信息。常见的数据库软件有MySQL和PostgreSQL。选择其中一种并按照所选软件的官方文档进行安装。
4 配置Web服务器:根据所选择的Web服务器,编辑相关配置文件以启用必要的模块和功能。例如,在Apache中,您可以编辑httpdconf文件;在Nginx中,您可以编辑nginxconf文件。
5 下载和安装虚拟主机管理系统:有许多开源的虚拟主机管理系统可供选择,例如cPanel、Plesk、Virtualmin等。根据您的需求和偏好选择一个系统,并按照其官方文档进行下载和安装。
6 配置虚拟主机管理系统:安装完成后,您需要进行一些必要的配置。这可能包括设置管理员账户、配置DNS服务器、设置邮件服务、定义资源配额等。
7 创建虚拟主机:在虚拟主机管理系统中,您可以创建和管理虚拟主机。根据系统的不同,您可以设置域名、FTP账号、数据库等。
8 安全配置:确保服务器和虚拟主机管理系统的安全性,例如使用防火墙、更新软件、实施访问控制策略等。
9 监控和维护:定期监控服务器和虚拟主机管理系统的性能和安全状态。确保及时进行软件更新、备份数据、检查日志等。
请注意,搭建虚拟主机管理系统需要一定的技术知识和经验。如果您是初学者或对服务器管理不熟悉,建议寻求专业人士的帮助或选择使用托管服务提供商。
网站模板库 » 我在centos7 上面搭建了LNMP环境. 我配置好后.在内网测试可以访问.但是绑定域名后,从外网就访问不了.
0条评论