centos搭建http服务器?centos如何安装软件

Centos 搭建dhcp服务器

dhcp是动态主机配置协议,使用udp协议,主要使用udp67和udp 68号端口

1.client端会发送dhcp discover广播包

2.dhcp服务器会回应dhcp offer广播包

3.client端会发送dhcp request广播包

4.dhcp服务器发送dhcp ack广播包

[root@mini~]# rpm-qa dhcp

[root@mini~]# cat/etc/centos-release

CentOS release 6.9(Final)

[root@mini~]# uname-r

2.6.32-696.el6.i686

[root@mini~]# uname-m

i686

[root@mini~]# yum install-y dhcp

[root@mini~]# rpm-qa dhcp

dhcp-4.1.1-53.P1.el6.centos.1.i686

[root@mini~]# rpm-qc dhcp

/etc/dhcp/dhcpd.conf

/etc/dhcp/dhcpd6.conf

/etc/openldap/schema/dhcp.schema

/etc/portreserve/dhcpd

/etc/sysconfig/dhcpd

/etc/sysconfig/dhcpd6

/etc/sysconfig/dhcrelay

/etc/sysconfig/dhcrelay6

/var/lib/dhcpd/dhcpd.leases

/var/lib/dhcpd/dhcpd6.leases

[root@mini~]# cat/etc/dhcp/dhcpd.conf

#

# DHCP Server Configuration file.

#  see/usr/share/doc/dhcp*/dhcpd.conf.sample

#  see'man 5 dhcpd.conf'

#

查询dhcp sample文件(dhcpd.conf.sample文件为dhcp配置文件模板)

# rpm-ql dhcp

配置完成后的文件

[root@mini~]# cat/etc/dhcp/dhcpd.conf

#

# DHCP Server Configuration file.

#  see/usr/share/doc/dhcp*/dhcpd.conf.sample

#  see'man 5 dhcpd.conf'

#

# A slightly different configuration for an internal subnet.

subnet 172.16.1.0 netmask 255.255.255.0{

range 172.16.1.10 172.16.1.30;

option domain-name-servers mini.localdomain;

option domain-name"mini.localdomain";

option routers 172.16.1.1;

option broadcast-address 172.16.1.1;

default-lease-time 600;

max-lease-time 7200;

}

查看配置是否正确

[root@mini~]#/etc/init.d/dhcpd configtest

Syntax: OK

DHCP启动失败,并查询到如下报错信息(/var/log/messages)

Nov  6 06:37:24 mini dhcpd: No subnet declaration for eth0(192.168.28.139).

Nov  6 06:37:24 mini dhcpd:** Ignoring requests on eth0.  If this is not what

Nov  6 06:37:24 mini dhcpd:   you want, please write a subnet declaration

Nov  6 06:37:24 mini dhcpd:   in your dhcpd.conf file for the network segment

Nov  6 06:37:24 mini dhcpd:   to which interface eth0 is attached.**

Nov  6 06:37:24 mini dhcpd:

Nov  6 06:37:24 mini dhcpd:

Nov  6 06:37:24 mini dhcpd: Not configured to listen on any interfaces!

Nov  6 06:37:24 mini dhcpd:

Nov  6 06:37:24 mini dhcpd: This version of ISC DHCP is based on the release available

Nov  6 06:37:24 mini dhcpd: on ftp.isc.org.  Features have been added and other changes

Nov  6 06:37:24 mini dhcpd: have been made to the base software release in order to make

Nov  6 06:37:24 mini dhcpd: it work better with this distribution.

Nov  6 06:37:24 mini dhcpd:

Nov  6 06:37:24 mini dhcpd: Please report for this software via the CentOS Bugs Database:

Nov  6 06:37:24 mini dhcpd:  

Nov  6 06:37:24 mini dhcpd:

Nov  6 06:37:24 mini dhcpd: exiting.

解决办法:

这是因为DHCP程序发现没有“Not configured to listen on any interfaces”,只需要配置相应的IP到目标网卡中便可以解决这个问题。

[root@mini~]# ifconfig eth1 172.16.1.1/24

[root@mini~]#/etc/init.d/dhcpd start

Nov  6 06:43:11 mini dhcpd: Internet Systems Consortium DHCP Server 4.1.1-P1

Nov  6 06:43:11 mini dhcpd: Copyright 2004-2010 Internet Systems Consortium.

Nov  6 06:43:11 mini dhcpd: All rights reserved.

Nov  6 06:43:11 mini dhcpd: For info, please visit

Nov  6 06:43:11 mini dhcpd: Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not specified in the config file

Nov  6 06:43:11 mini dhcpd: Wrote 0 leases to leases file.

Nov  6 06:43:11 mini dhcpd: Listening on LPF/eth1/00:0c:29:c5:2b:7e/172.16.1.0/24

Nov  6 06:43:11 mini dhcpd: Sending on  LPF/eth1/00:0c:29:c5:2b:7e/172.16.1.0/24

Nov  6 06:43:11 mini dhcpd:

Nov  6 06:43:11 mini dhcpd: No subnet declaration for eth0(192.168.28.139).

Nov  6 06:43:11 mini dhcpd:** Ignoring requests on eth0.  If this is not what

Nov  6 06:43:11 mini dhcpd:   you want, please write a subnet declaration

Nov  6 06:43:11 mini dhcpd:   in your dhcpd.conf file for the network segment

Nov  6 06:43:11 mini dhcpd:   to which interface eth0 is attached.**

Nov  6 06:43:11 mini dhcpd:

Nov  6 06:43:11 mini dhcpd: Sending on  Socket/fallback/fallback-net

[root@mini~]# cat/var/lib/dhcpd/dhcpd.leases

注意:如果Linux开启了防火墙,那么需要对UDP 67和UDP 68放行。或者直接将放火墙关闭

怎么搭建linux centos服务器

把在本地开发的php+mysql程序通过FTP架设到web服务器,并能通过域名正常访问网站。

END

步骤/方法

第一步:创建FTP

================================================================

chmod go+rwx/data《给data分配权限》

cd/data《进入data分区》

mkdir web《建立web目录》

chmod go+rwx/data/web

cd/《回到根目录,个人操作习惯,可跳过这步》

useradd ftpusername-d/data/web/cqwebseo.com《添加FTP,ftpusername改为你的FTP用户、cqwebseo.com改为你FTP对就的网站目录》

passwd cqwebseo《设置FTP密码》

echo cqwebseo>>/etc/ftpchroot《设置FTP用户只访问自己网站目录内的文件,不能访问其它目录。这点很重要》vi/etc/vsftpd/vsftpd.conf《修改FTP配置文件》

注:按一下i进入到编辑模式,修改完后按一下ESC退出编辑模式,再输入《:wq》(其作用是保存改修改并退出)《:q!》退出不保存《:q》没有做过修改用这个退出

idle_session_timeout

data_connection_timeout

找到这两个,,修改其值大于900,如果不修改这个的话,,FTP链接很慢

#xferlog_file

找到这个,删除#。。。作用是记录FTP的日志

/etc/init.d/vsftpd restart《重启FTP后配置文件才会生效》

到此第一步OK你可用FTP登陆啦!

注:我这配置有这个问题没解决,登陆报超时,但你耐心的等一会,就会链接好,如果有盆友知道解决方法的,请帮解答一下。。。谢谢。。

======================================================================

第三步:配置mysql

==============================================================================

/usr/local/mysql/bin/mysql-uroot-p《登陆mysql,按一下ENTER然后输入mysql密码,默认和万网root密码一样》

use mysql;《选择mysql表》

grant all on cqwebseo_db.* to cqwebseo@localhost identified by'cqwebseomysql';《添加一个数据,有所有权限,cqwebseo_db为数据库名,cqwebseo为用户名,cqwebseomysql为密码》

flush privileges;《不用解释吧,真就度娘一下。》

exit;《这个也不用说吧》

/usr/local/mysql/bin/mysqladmin-uroot-p8y6v8a3c7u shutdown《停止mysql》

/usr/local/mysql/bin/mysqld_safe《启动mysql》

到此。。就Ok。注意。。注意。。。。。分号分号分号

/usr/local/mysql/var《数据库存放目录》

================================================================================

第二步:配置httpd.conf

=======================================================================

echo hi! Tis test!/data/web/cqwebseo.com> index.php《在cwebseo.com里面建立一个内容为hi!Tis test!的index.php文件》

vi/var/www/conf/httpd.conf《进入主战场》

按上下键,翻到文档最后,然后加入下列表代码(不知道怎么加进的,看第一步的注意事项)

<VirtualHost*:80>

DocumentRoot/data/web/cqwebseo

DirectoryIndex index.php

ServerAdmin datena@qq.com

ServerName cqwebseo.com

ServerAlias www.cqwebseo.com

#ErrorLog/data/web/sanmao/log/error.log

#TransferLog/data/web/sanmao/log/access.log

</VirtualHost>

简单说一下。。。。。。网上有很多这方面的资料

DocumentRoot/data/web/cqwebseo这个就是网站的决对地址说白就是你分配给他的FTP地址

DirectoryIndex index.php这个表示网站默认首页是index.php

ServerAdmin datena@qq.com服务管理员的邮箱

ServerName cqwebseo.com这个你懂的

ServerAlias www.cqwebseo.com这个也不需要解释吧

余下的两个被我注释掉喽,,,意思是网站的日志文件存放地

var/www/bin/apachectl restart重启apachectl

var/www/bin/apachectl stop停止apachectl

var/www/bin/apachectl start启动apachectl

OK到这里。。第二步就完。。。你能输入网址。。。看到这个目录啦。。不过有个前题条件。。这个个域名要解析过来了滴哈。。不然的话。。你就不要输入域名那两个。。直接用你服务的IP地址访问也行的。。。。如果你操作正确啦。。就能看到网页上出现hi! Tis test!

=========================================================================

求助关于centos6.6搭建nginx反向代理服务器

〉直接作为http server(代替apache,对PHP需要FastCGI处理器支持);

〉另外一个功能就是作为反向代理服务器实现负载均衡

以下我们就来举例说明如何使用 nginx实现负载均衡。因为nginx在处理并发方面的优势,现在这个应用非常常见。当然了Apache的 mod_proxy和mod_cache结合使用也可以实现对多台app server的反向代理和负载均衡,但是在并发处理方面apache还是没有 nginx擅长。

1)环境:

a.我们本地是Windows系统,然后使用VirutalBox安装一个虚拟的Linux系统。

在本地的Windows系统上分别安装nginx(侦听8080端口)和apache(侦听80端口)。在虚拟的Linux系统上安装apache(侦听80端口)。

这样我们相当于拥有了1台nginx在前端作为反向代理服务器;后面有2台apache作为应用程序服务器(可以看作是小型的server cluster。;-));

b. nginx用来作为反向代理服务器,放置到两台apache之前,作为用户访问的入口;

nginx仅仅处理静态页面,动态的页面(php请求)统统都交付给后台的两台apache来处理。

也就是说,可以把我们网站的静态页面或者文件放置到nginx的目录下;动态的页面和数据库访问都保留到后台的apache服务器上。

c.如下介绍两种方法实现server cluster的负载均衡。

我们假设前端nginx(为127.0.0.1:80)仅仅包含一个静态页面index.html;

后台的两个apache服务器(分别为localhost:80和158.37.70.143:80),一台根目录放置phpMyAdmin文件夹和test.php(里面测试代码为print“server1“;),另一台根目录仅仅放置一个test.php(里面测试代码为 print“server2“;)。

2)针对不同请求的负载均衡:

a.在最简单地构建反向代理的时候(nginx仅仅处理静态不处理动态内容,动态内容交给后台的apache server来处理),我们具体的设置为:在nginx.conf中修改:

复制代码代码如下:

location~\.php${

proxy_pass 158.37.70.143:80;

}

〉这样当客户端访问localhost:8080/index.html的时候,前端的nginx会自动进行响应;

〉当用户访问localhost:8080/test.php的时候(这个时候nginx目录下根本就没有该文件),但是通过上面的设置 location~\.php$(表示正则表达式匹配以.php结尾的文件,详情参看location是如何定义和匹配的 ),nginx服务器会自动pass给 158.37.70.143的apache服务器了。该服务器下的test.php就会被自动解析,然后将html的结果页面返回给nginx,然后 nginx进行显示(如果nginx使用memcached模块或者squid还可以支持缓存),输出结果为打印server2。

如上是最为简单的使用nginx做为反向代理服务器的例子;

b.我们现在对如上例子进行扩展,使其支持如上的两台服务器。

我们设置nginx.conf的server模块部分,将对应部分修改为:

复制代码代码如下:

location ^~/phpMyAdmin/{

proxy_pass 127.0.0.1:80;

}

location~\.php${

proxy_pass 158.37.70.143:80;

}

上面第一个部分location ^~/phpMyAdmin/,表示不使用正则表达式匹配(^~),而是直接匹配,也就是如果客户端访问的 URL是以开头的话(本地的nginx目录下根本没有phpMyAdmin目录),nginx会自动pass到127.0.0.1:80的Apache服务器,该服务器对phpMyAdmin目录下的页面进行解析,然后将结果发送给nginx,后者显示;

如果客户端访问URL是的话,则会被pass到158.37.70.143:80的apache进行处理。

因此综上,我们实现了针对不同请求的负载均衡。

〉如果用户访问静态页面index.html,最前端的nginx直接进行响应;

〉如果用户访问test.php页面的话,158.37.70.143:80的Apache进行响应;

〉如果用户访问目录phpMyAdmin下的页面的话,127.0.0.1:80的Apache进行响应;

3)访问同一页面的负载均衡:

即用户访问这个同一页面的时候,我们实现两台服务器的负载均衡(实际情况中,这两个服务器上的数据要求同步一致,这里我们分别定义了打印server1和server2是为了进行辨认区别)。

a.现在我们的情况是在windows下nginx是localhost侦听8080端口;

两台apache,一台是127.0.0.1:80(包含test.php页面但是打印server1),另一台是虚拟机的158.37.70.143:80(包含test.php页面但是打印server2)。

b.因此重新配置nginx.conf为:

〉首先在nginx的配置文件nginx.conf的http模块中添加,服务器集群server cluster(我们这里是两台)的定义:

复制代码代码如下:

upstream myCluster{

server 127.0.0.1:80;

server 158.37.70.143:80;

}

表示这个server cluster包含2台服务器

〉然后在server模块中定义,负载均衡:

复制代码代码如下:

location~\.php${

proxy_pass 这里的名字和上面的cluster的名字相同

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;

}

这样的话,如果访问页面的话,nginx目录下根本没有该文件,但是它会自动将其pass到myCluster定义的服务区机群中,分别由127.0.0.1:80;或者158.37.70.143:80;来做处理。

上面在定义upstream的时候每个server之后没有定义权重,表示两者均衡;如果希望某个更多响应的话例如:

复制代码代码如下:

upstream myCluster{

server 127.0.0.1:80 weight=5;

server 158.37.70.143:80;

}

这样表示5/6的几率访问第一个server,1/6访问第二个。另外还可以定义max_fails和fail_timeout等参数。

综上,我们使用nginx的反向代理服务器reverse proxy server的功能,将其布置到多台apache server的前端。

nginx仅仅用来处理静态页面响应和动态请求的代理pass,后台的apache server作为app server来对前台pass过来的动态页面进行处理并返回给nginx。

通过以上的架构,我们可以实现nginx和多台apache构成的机群cluster的负载均衡。

两种均衡:

1)可以在nginx中定义访问不同的内容,代理到不同的后台server;如上例子中的访问phpMyAdmin目录代理到第一台server上;访问test.php代理到第二台server上;

2)可以在nginx中定义访问同一页面,均衡(当然如果服务器性能不同可以定义权重来均衡)地代理到不同的后台server上。如上的例子访问test.php页面,会均衡地代理到server1或者server2上。

实际应用中,server1和server2上分别保留相同的app程序和数据,需要考虑两者的数据同步。

阅读剩余
THE END