• 对于小白来说,搭建linux服务器建设网站如果没有工具,可比较麻烦,高手都是命令行操作,我们就要通过最合适的工具来建设,网上很多资料都是教大家如何建站,我就要写一篇最简单的建站,我们以dedecms为快速建站程序. ...

     

     

    对于小白来说,搭建linux服务器建设网站如果没有工具,可比较麻烦,高手都是命令行操作,我们就要通过最合适的工具来建设,网上很多资料都是教大家如何建站,我就要写一篇最简单的建站,我们以dedecms为快速建站程序.

    Linux服务器的系统不管是centos还是ubuntu建议都选最新版本,既然要使用工具我们这里推荐使用旗鱼云梯平台,因为不使用第三方ssh或ftp工具,直接操作浏览器就可以完成全部设置.

    我录制了一段教学视频视频:

    http://www.iqiyi.com/w_19s7hjzo4x.html

    登陆旗鱼云梯官网,注册登录账户,购买一个主机使用令牌,令牌是把服务器添加进入平台的密匙

    现在官网搞活动,”最新活动”领取优惠劵或添加QQ群,免费送令牌.QQ群:514392149

    领取令牌后,点击右上角”控制台”进入,然后把服务器添加管理.

    导入服务器后,安装探针,让旗鱼云梯平台和服务器建立连接.

    安装完成后,点击右侧”管理”可以进入服务器安装WEB环境.

    进入到服务器管理主页后,可以一键安装WEB环境,选择LNMP或LAMP.

    安装完成后,点击”网站管理”选项,新建一个网站,我解析了域名,所以直接建立网站和数据库就可以了.

    创建网站后,直接通过上传功能,把网站压缩包上传到网站目录下.

    完成后进入”文件夹管理”进行解压,释放网站文件.

    解压后,进入dedecms安装地址,直接安装织梦程序.

    一步步安装dedecms,就可以简单使用建站方式.

    展开全文
  • Web服务器集群搭建

    2019-05-24 15:31:10
    Web服务器集群搭建 1、需求分析 1.1、整体需求 搭建一个高可用的网站服务器集群,能承受高并发请求,能抵御一般的网络攻击,任何一台服务器的退服不影响整个集群的运作,并且能对各服务器的运行情况作出实时监控。 ...

    Web服务器集群搭建
    1、需求分析
    1.1、整体需求
    搭建一个高可用的网站服务器集群,能承受高并发请求,能抵御一般的网络攻击,任何一台服务器的退服不影响整个集群的运作,并且能对各服务器的运行情况作出实时监控。
    1.2、详细需求
    Web主服务器(Centos1 Nginx+Keepalive NFS server):Eth0(192.168.48.139),Eth1(10.0.0.1);
    Web备用服务器(Centos4 Nginx+Keepalive):Eth0(192.168.48.140),Eth1(10.0.0.4);
    后台主服务器(Centos2 Apache+Mysql Django):Eth1(10.0.0.2);
    后台备用服务器(Centos3 Apache+Mysql Django):Eth1(10.0.0.3);
    监控服务器(Centos5 Nagios+Saltstack master):Eth0(192.168.48.160),Eth1(10.0.0.5);
    Virtual ip:192.168.48.138
    2、详细功能描述
    2.1、前端服务器采用nginx实现反向代理和负载均衡,用keepalive实现HA。此部分由centos1和centos4实现,centos1作为主服务器,centos4作为热备服务器。Nginx会根据不同的请求ip机会均等地把请求发送到后端两台服务器,并且以ip hash的方式保持各个ip的会话。
    2.2、后端服务器构建在centos2与centos3上,采用apache作为web发布软件,mysql作为数据库,测试网页用Django来实现。两台服务器的数据库能够自动同步。
    2.3、作为热备服务器,centos4在centos1没有故障时并没有业务流量,处于相对空闲的状态,因此在centos4上配置nfs使它成为文件共享服务器,网站文件放在这台服务器上。
    2.4、centos5作为监控服务器,运行nagios监控各服务器状态。出现告警时通过告警通知管理员。另外centos5还作为saltstack的服务器,其他主机的软件安装、文件传输、命令运行等操作均通过saltstack批量实现。
    3、总体部署描述
    3.1、各服务器均安装centos 64位版本,采用cobbler实现批量自动安装;
    3.2、各软件均安装稳定版本,centos自带软件也要进行升级,低版本可能会影响Django的运行。
    4、详细部署描述
    4.1、nginx设置
    Nginx的主要作用是反向代理,作为用户和服务器之间的缓存,并以负载均衡的方式把请求发送到后端两台服务器。
    建议采用编译安装的方式安装Nginx,为使入侵者难以查出Nginx的版本号,编译前修改安装文件nginx.h,相关字段修改如下:
    #define NGINX_VERSION      "1.0"
    #define NGINX_VER          "webserver" NGINX_VERSION
    Nginx配置文件如下:
    user  www www;
    worker_processes  2;

    events {
    worker_connections  12800;
    use epoll;
    }

    http {
        include       mime.types; #协助部分浏览器(如firefox)识别网页文件的类型
        default_type  application/octet-stream;
        limit_conn_zone $binary_remote_addr zone=addr:10m;

        sendfile  on;#指定nginx是否调用sendfile函数来输出文件,能提高性能。
        tcp_nopush   on;
        tcp_nodelay  on;
        keepalive_timeout 20;  #客户端连接保持活动的超时时间
        send_timeout 20;  #指定响应客户端的超时时间
        client_body_buffer_size 1k;  #指定客户端请求主体缓冲区大小
        client_header_buffer_size 1k;  #指定来自客户端请求头的headerbuffer大小
        large_client_header_buffers 2 1k; #客户端请求中较大的消息头指定的缓存最大数量和大小
        server_tokens off;  #禁止在错误页面上显示nginx版本号
        client_body_timeout 20;  #设置客户端请求主体读取超时时间
        client_header_timeout 20; #设置客户端请求头读取超时时间
        gzip  on;
        upstream WebServers{   #指定负载均衡服务器
            ip_hash;           #以ip_hash的方式保持会话
            server 10.0.0.3;     #没有设定权重,因此两台后端服务器将机会均等地接受请求
            server 10.0.0.2;
            }
        server {
            listen       80;
            server_name  localhost;

            location / {
                proxy_pass   http://WebServers;
                limit_conn addr 100;     #指定每个ip最多只允许建立100个连接
                limit_rate 500k;         #每个ip最大带宽是500k
                proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_404;
            }

            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
    }
    设置完毕后,把nginx设置为开机启动
    echo “/usr/local/nginx/sbin/nginx” >>/etc/rc.local
    4.2、Keeplive设置
    Keeplive的作用是在两台服务器(centos1、centos4)之间,以VRRP协议实现HA。通过虚拟出一个Virtul IP(本例子中是192.168.48.138)来对外发布业务。两台服务器中的任一台退服了,keeplive会自动把业务转到另一台上。在这里centos1是主服务器,centos4是备用服务器。平时的数据流量只会通过centos1,只有centos1退服了,数据流量才会割接到centos4上。
    centos1上的keepalive配置:
    ! Configuration File for keepalived

    global_defs {
       notification_email {
       test@test.com       #指定告警邮箱,当发现对端服务器退服时发邮件警报 
       }
       notification_email_from Alexandre.Cassen@firewall.loc
       smtp_server 127.0.0.1
       smtp_connect_timeout 30
       router_id LVS_DEVEL
    }

    vrrp_instance VI_1 {
        state MASTER
        interface eth0   #绑定网卡接口
        virtual_router_id 51
        mcast_src_ip 192.168.48.139   #设置本机通过哪个ip发送vrrp包     
        priority 100    #设置优先级
        advert_int 1    #检查间隔,这里设置为1秒
        authentication {
            auth_type PASS
            auth_pass 1111
        }
        virtual_ipaddress {
            192.168.48.138
        }
    }
    对于从服务器centos4,把配置文件的部分内容修改:
    state BACKUP
    mcast_src_ip 192.168.48.140
    priority 90
    同样,配置好配置文件后,把keepalive添加到开机启动中。

    对于keepalive,由于是使用VRRP协议来检查对端是否在线的,只要对端能ping通,那么keeplive就会认为对端在线。但也有一种情况是对端服务器没有宕机,但nginx出错关闭了,这种情况下keepalive仍然会判断对端在线,不会把业务割接到备用服务器。因此我们需要在服务器上运行一个脚本,监控nginx进程的状态。假如nginx进程关闭了,先尝试重启nginx,无法重启时就关闭keepalive的进程,使业务割接到备用端。脚本如下:
    #!/bin/bash
    #nginxStatus.sh
    while :
    do
        nginxStatus=`ps -C nginx --no-header |wc -l`
        if ((nginxStatus==0));then
            /usr/local/nginx/sbin/nginx
            sleep 5
            nginxStatus=`ps -C nginx --no-header |wc -l`
            if ((nginxStatus==0));then
                /etc/init.d/keepalived stop
            fi
        else  #当判断到主服务器的nginx已经重新启动后,再启动keepalive,使业务倒置回主
             #服务器
            keepaliveStatus=`ps -C keepalived --no-header |wc -l` 
            if ((keepaliveStatus==0));then
                /etc/init.d/keepalived start
            fi
        fi
        sleep 5
    done
    把这个脚本放在centos1上,设置开机后于后台运行
    echo “nohup ~/nginxStatus.sh &”>>/etc/rc.local
    由于脚本中的while会不断循环下去来检查进程运行情况,因此没必要添加进计划任务。不过谨慎起见,防止脚本意外停止,也可以在计划任务中设置每30分钟运行一次。
    4.3、后端Web服务器设置
    后端web服务器运行在centos2、centos3上,采用apache搭建,测试网页使用Django编写,网页文件存放在共享文件服务器centos4上,分别挂载在本机的/var/www/html目录。

    用saltstack批量在两台服务器上安装apache、apache-devel、wsgi、Django、mysql以及升级python,过程省略。

    部署好运行环境后,修改一下apache的配置文件(http.conf),把运行用户名和组名改为apache,根目录指向/var/www/html

    接下来设置mysql,把两台服务器的mysql设置互为主从,使得其中一台服务器的数据库变更了,马上同步到另一台,保证两台服务器的数据一致。设置步骤如下:
    首先设置centos2
    打开centos2上mysql的配置文件my.cnf,作如下修改:
    [mysqld]
    log-bin=MySQL-bin  #开启二进制日志,从服务器靠读取主服务器的二进制日志来执行同步
    server-id=1  #设置为1表明这是主服务器。
    binlog-ignore-db=mysql  
    binlog-ignore-db=information_schema  # binlog-ignore-db用来指定忽略哪些数据库记录到二进制日志,这样在同步的时候就会忽略掉这些数据库。其中“mysql”数据库用于记录用户信息,“information_schema”用于记录整个数据库各个库和表的信息。
    然后以root身份登陆mysql,执行下面命令:
    grant replication slave on *.* to ‘test’@’10.0.0.3’  identified ‘test123’;
    这命令的含义是,在10.0.0.3机器上建立一个test用户,用户密码为test123,这个用户拥有对centos2上所有数据库的所有表同步到centos3(10.0.0.3)的权限。
    然后执行:
    show master status;
    记录好这个信息,然后以root身份登陆centos3的mysql,执行下面的命令(有一点需要注意,假如同步之前需要同步的数据库不是空的话,需要先在数据库上加上读锁,把主服务器的相关数据库导入到从数据库中):
    change master to
    master_host='10.0.0.2',
    master_user='test',
    master_password='test123',
    master_log_file='MySQL-bin.000070',
    master_log_pos=106;
    上面的master_log_file和master_log_pos的信息就是之前centos2上执行show master status命令后所显示的信息。执行show slave status;命令,查看一下centos3是否已经成功成为从服务器:
    可以看到centos3的mysql已经成为centos2(10.0.0.2)的从服务器了。至此centos3的mysql已经能主动同步centos2的数据了,我们只需要把以上操作在centos3上操作一次(先修改my.cnf,其中server-id要设为2,然后再执行创建用户以及授权命令),就能实现两个数据库互为主从,相互之间自动同步。
    4.4、共享文件服务器nfs
    需要把centos4配置成共享文件的服务器端,后端两台web服务器的网页内容将放在共享文件服务器上,以此保证两台web服务器的网页文件内容一致。
    nfs在centos6.2上默认已安装,我们首先在centos4的/etc目录下新建exports文件,加入以下内容:
    /home/apache/html 10.0.0.2(rw,sync)  #sync是指数据同时写入缓存和硬盘中,执行较慢但保证数据精确
    /home/apache/html 10.0.0.3(rw,sync)
    然后在centos4上一步步执行下面的命令:
    groupadd apache
    useradd -g apache -s /sbin/nologin apache
    passwd apache
    mkdir -p /home/apache/html
    #把网页文件复制到/home/apache/html,然后再执行下面命令:
    chown -R apache:apache /home/apache/html
    chmod -R 700 /home/apache/html
    chkconfig --level 35 nfs on
    service nfs start
    关于共享目录的权限设置,由于后端两台web服务器的apache都是以apache:apache这个用户来执行的,文件的读写也是通过这个用户,因此为保证数据安全,共享目录只开放权限给这个用户即可,其他用户一律什么权限都不给予。另外还要把共享文件夹的所属者设为apache:apache这个用户。

    接下来到centos2、centos3两台web服务器上作如下设置,使它们开机时自动加载共享目录:
    echo "mount -t nfs 10.0.0.4:/home/apache/html /var/www/html -o hard,bg,nfsvers=3 ">>/etc/rc.local
    上面选项中hard表示网络短暂中断时会继续尝试连接服务器,并且不会显示错误信息;

    bg表示执行mount时如果无法顺利mount上时,系统会将mount的操作转移到后台并继续尝试mount,直到mount成功为止;

    nfsvers=3表示采用第3版的nfs。
    4.5、.nagios设置
    监控软件安装在centos5上,负责监控其他4台服务器的情况,出现异常时发出邮件给管理员进行警报。
    安装过程:需要在centos5上安装nagios、nagios插件包、nrpe、apache(用于搭建监控网页)、pnp(用于生成监控数据的分析图表)。4台被监控的主机需要安装nagios插件包以及nrpe,详细安装过程这里省略。

    以下项目是对于4台服务器都需要监控的:

    1.Check Swap:监控交换分区的剩余空间
    2.Check Zombie Procs:监控僵尸进程的数目
    3.Total Processes:监控总进程的数目
    4.check-no_alowed_user:监控是否有非允许的用户登陆
    5.check-system-load:监控系统负载
    对于nagios的工作原理,简单来说就是:在服务端的nagios目录下的services.cfg文件上定义需要监控各个客户端的哪个监控项目,对应的监控脚本被放在客户端执行,执行结果通过客户端上的nrpe守护进程反馈给nagios服务器端。
    默认情况下监控脚本返回的值所代表的的含义如下:
    OK—退出代码 0—表示服务正常地工作。
    WARNING—退出代码 1—表示服务处于警告状态。
    CRITICAL—退出代码 2—表示服务处于危险状态。
    UNKNOWN—退出代码 3—表示服务处于未知状态。
    因此,要实现上述5个监控项目,首先修改nagios服务器端(即centos5)上的services.cfg文件,添加上以下内容:
    define service{
            use                      local-service
            host_name                centos1
            service_description      check-no_alowed_user
            check_command            check_nrpe!check_no_allowed_user #对于脚本在客户端执行的命令,都要在命令前加上check_nrpe!
            notifications_enabled           1       #开启告警功能
            flap_detection_enabled          0       #关闭抖动检测(当数据出现较大抖动时nagios不会作出提示)
            notification_options            w,c,r   #warning、critical、recover时发出告警
            notification_interval           5       #假如服务的状态没有恢复正常的话,告警将每5分钟发一次
            notification_period             24x7    #设定告警的时段,这里设置为24X7
    }

    define service{
            use                        local-service,services-pnp #对于添加上services-pnp的服务,nagios将调用pnp把服务返回的数据画成图表。
            host_name                  centos1
            service_description        check-system-load
            check_command              check_nrpe!check_load
            notifications_enabled         1
            flap_detection_enabled        0
            notification_options          w,c,r
            notification_interval         5
            notification_period           24x7
    }


    define service{
            use                         local-service,services-pnp
            host_name                   centos1
            service_description         Total Processes
            check_command               check_nrpe!check_total_procs
            notifications_enabled           1
            flap_detection_enabled          0
            notification_options            w,c,r
            notification_interval           5
            notification_period             24x7
    }


    define service{
            use                     local-service,services-pnp
            host_name               centos1
            service_description     Check Zombie Procs
            check_command           check_nrpe!check_zombie_procs
            notifications_enabled           1
            flap_detection_enabled          0
            notification_options            w,c,r
            notification_interval           5
            notification_period             24x7
    }

    define service{
            use                     local-service,services-pnp
            host_name               centos1
            service_description     Check Swap
            check_command           check_nrpe!check_swap
            notifications_enabled           1
            flap_detection_enabled          0
            notification_options            w,c,r
            notification_interval           5
            notification_period             24x7
    }
    以上写出了描述centos1监控服务的描述,其他3台服务器的描述都是一样的,只是host_name不一样,限于篇幅,这里就不把剩余部分列出了。

    接下来修改客户端的设置,同样以centos1为例,修改nagios目录下的nrpe.cfg文件,添加以下内容(部分内容默认已经存在的,修改的时候需要注意有没有重复):
    command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10% #-w后面的参数告诉脚本当交换空间小于20%时,返回warming状态(即返回1),-c后面的参数告诉脚本当交换空间小于10%时,返回critical状态(即返回2)
    command[check_load]=/usr/local/nagios/libexec/check_load -w 1.8,1.5,1.2 -c 2.5,2,1.8
    command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
    command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
    command[check_no_allowed_user]=/usr/local/nagios/libexec/check_no_allowed_user.py –a cjyfff
    上面这5个命令对应的脚本中,check_no_allowed_user.py是我编写的脚本,另外4个是nagios自带的。check_no_allowed_user.py的作用是检测是否有允许用户以外的用户登录系统。使用方法是脚本后面加上选项-a,然后添加允许登录的用户列表(格式是-a user1,user2...,root默认已添加到允许列表,因此无需添加root)。当允许用户列表以外的用户登录时,将会触发nagios的critial告警。这个脚本的内容如下:
    #! /usr/bin/env python
    #coding=utf-8
    #check_no_allowed_user.py
    import os, sys, getopt

    def Usage():
        print "Usage:\n\tpython check_no_allowed_user.py [-h|--help][-a|--add allowedUser01,allowUser02...]\n"
        print "\tTo creat the allowed user list,please use this format:-a user1,user2...."
        print "\tAny user(s) not in allowed user list login this system will alter Nagios." 
        sys.exit(3)

    def CheckUser(args):
        a = os.popen("who").read() #这里a被赋值成一个包含换行符的字符串
                                 #下面需要以换行符分隔把a建成列表,然后提取列表元素的第一个字段,这才是
                                 #我们所需要的当前用户名
        b = list(a.split("\n"))
        c = []
        i = 0
        while i<len(b)-1:
            c.append(b[i].split(" ")[0])
            i += 1
        userList = set(c)
        allowedList = list(args.split(","))  #创建允许用户的列表
        allowedList.append("root")         #允许用户的列表中默认添加上root
        #print allowedList
        rs = [user for user in userList if user not in allowedList] #查出在当前用户列表中但不在允许列表中的用户
        #print rs

        if rs :
            print "Detected NO ALLOWED user(s)%s"%rs
            sys.exit(2)
        else:
            print "All user is ALLOWED."
            sys.exit(0)

    try:
        options, args = getopt.getopt(sys.argv[1:], "ha:", ["help", "add="])
    except getopt.GetoptError:
        Usage()        

    for o,r in options:
        if o in ("-h", "--help"):
            Usage()
        if o in ("-a", "--add"):
            #print type(r)
            CheckUser(r)
    另外,对于centos1、centos4两台前端服务器,还需要添加2项监控服务:
    80port:监控80端口的情况
    CheckNginxState:监控nginx进程是否启动
    同样,以centos1为例,修改centos5上的services.cfg,添加上以下内容:
    define service{
            use                     local-service,services-pnp
            host_name               centos1
            service_description     80port
            check_command           check_tcp!80 #这个命令是通过服务器端的脚本来监控客户端的80端口的,因此无需加上check_nrpe!,客户端也不需要存在这个命令对应的脚本。
    }

    define service{
            use                             local-service
            host_name                       centos1
            service_description             CheckNginxState
            check_command                   check_nrpe!check_nginx
    }
    然后修改centos1上的nrpe.cfg,添加上以下内容:
    command[check_nginx]=/usr/local/nagios/libexec/check_nginx.sh
    这里的check_nginx.sh也是我自己编写的脚本,脚本内容如下:
    #!/bin/bash
    #check_nginx.sh
    use_age="This script is for checking nginx status,if nginx is stop Nagios will alarm."
    if (($#!=0));then
        echo $use_age
        exit 3
    fi
    a=`ps -C nginx --no-header |wc -l`
    if ((a!=0));then
        echo "nginx is running."
        exit 0
    else
        echo "nginx is NOT running."
        exit 2
    fi
    对于centos4这台共享文件服务器,还需要增加一个监控项目,监控硬盘的容量大小,这里可以用nagios自带的check_disk脚本,方法和上面一样的,这里就不在叙述了。

    对于作为后端web服务器的centos2、centos3,也很有必要监控服务器上apache以及mysql是否正在运行。监控脚本很简单,只需要把上面check_nginx.sh中“a=`ps -C nginx --no-header |wc -l`”修改一下,把“nginx”替换为“httpd”和“mysqld”即可。
    最后,客户端都设置好监控设置了,作为服务器端,也可以为centos5增加监控内容,服务器端的监控脚本同样放在服务器端的libexec/下,监控服务是在localhost.cfg中定义的。
    谨记添加自己写的脚本后要把用户改为nagios:nagios,并且增加执行权限。
    最终配置完毕后,打开nagios监控页面的效果。
    4.6、安全设置
    为了减少ssh密码被暴力破解的风险,在各个服务器上把ssh端口从默认的22端口更改为其他端口(本例子中改为2002),并且在/etc/hosts.allow中指定允许sshd通信的ip,在/etc/hosts.deny中添加sshd:ALL
    考虑到服务器都是在内网环境,已经能隔绝外网的很多攻击,并且开启防火墙的话会影响服务器之间数据转发速度,因此我在这4台服务器上都关闭iptables,仅在centos5上开启。在实际生产环境中,依靠在集群前面的防火墙对集群进行进一步保护。
    centos5的iptables脚本如下:
    !#/bin/bash
    #centos5-iptables.sh
    iptables -F
    iptables -X
    iptables -Z
    iptables -P INPUT DROP
    iptables -P FORWARD ACCEPT
    iptables -P OUTPUT ACCEPT

    iptables -A INPUT -i lo -j ACCEPT
    iptables -A OUTPUT -o lo -j ACCEPT

    iptables -A INPUT -p icmp -j ACCEPT#允许icmp协议包通过
    iptables -A INPUT -s 192.168.48.139 -j ACCEPT
    iptables -A INPUT -s 192.168.48.140 -j ACCEPT
    iptables -A INPUT -s 10.0.0.2 -j ACCEPT
    iptables -A INPUT -s 10.0.0.3 -j ACCEPT
    iptables -A INPUT -p tcp -m multiport --dport 22,80 -j ACCEPT
    /etc/rc.d/init.d/iptables save

    展开全文
  • 之前公司产品需要使用到IIS这块,小白入门的自己看着网上的教程,自己摸索着前进…学会走不急着跑,先稳固一下讲讲简单的 IIS Web服务器怎么搭,让不太涉及Web的童鞋及自己(温故)快速上手。 要学的东西真的是很多...

    之前公司产品需要使用到IIS这块,小白入门的自己看着网上的教程,自己摸索着前进…学会走不急着跑,先稳固一下讲讲简单的 IIS Web服务器怎么搭,让不太涉及Web的童鞋及自己(温故)快速上手。

    要学的东西真的是很多,学无止境啊!!不说废话,简单的 IIS 篇先走起。。

    一、IIS服务器的搭建

    1.启用功能:

    首先,我们以Windows 10 版系统为例,右击“我的电脑”点击属性,进入Windows的“控制面板”,如图所示;
    这里写图片描述

    这里写图片描述
    进入“程序”,然后点“启用或关闭Windows功能”,然后就能看到一下选项,找到Internet Information Services(在Windows 7为Internet信息服务,下同),如图所示
    这里写图片描述
    在Internet Information Services之前的选项框上打勾,会发现有些内容是方块型的,意思是没有完全启用其中的功能,建议按照图片上的介绍把“应用程序开发功能”中的内容全部勾选,要不IIS搭好以后只能挂HTML这种静态网页。勾选完成后,如还需要其他方面的功能,如ODBC日志、动态内容压缩、HTTP重定向等功能,也可以再次勾选,当然现在不勾选以后再加也没问题。
    这里写图片描述
    这里写图片描述
    完成后,点击确定,Windows自动安装IIS功能,安装完成后,建议在“系统和安全”中,完全关闭防火墙,保证IIS的其他端口可被访问,在IE或其他浏览器中,打开http://localhost,出现如下界面,则说明搭建成功
    这里写图片描述

    下一篇:Web服务器搭建篇(二)——IIS的部署使用

    展开全文
  • linux web服务器搭建

    2016-06-30 22:44:59
    linux的Web服务器搭建 boa web服务器介绍boa是一款非常小巧的web服务器,执行代码大约只有60K,广泛应用于嵌入式平台。boa服务器是一个单任务网络服务器,只能依次执行用户的请求。bao下载地址(已经进10年没有更新...

    linux的Web服务器搭建

    1. boa web服务器介绍

      boa是一款非常小巧的web服务器,执行代码大约只有60K,广泛应用于嵌入式平台。boa服务器是一个单任务网络服务器,只能依次执行用户的请求。

      bao下载地址(已经进10年没有更新了)

      http://www.boa.org/

      这里使用的是boa-0.94.13.tar.gz版本,接下来要做的是编译boa。

    2. boa 文件编译

      • 解压安装包文件:tar -vxf boa-0.94.13.tar.gz
      • 生成Makefile文件:cd src文件 执行./config生成Makefile文件
      • 修改Makefile文件: vi Makefile进入Makefile文件,将CC=GCC修改为平台所对应的编译器 改为: CC = arm-none-linux-gnueabi-gcc -static 将CPP = gcc -E改为CPP = arm-none-linux-gnueabi-gcc -E -static
      • 更改compat.h文件,将#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff的#号去掉变为#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
      • 执行make命令编译boa服务器
      • 执行 arm-none-linux-gnueabi-strip boa 为boa文件瘦身
      • 至此,编译工作完成
    3. boa web服务器文件结构搭建

      boa服务器需要在指定的文件下起作用,因此下面要搭建boa web服务器文件结构

      文件说明:
      (1)编译生成的boa文件拷贝至linux的/bin目录下
      (2)boa.conf 来源于boa安装包文件中
      (3)mime.types 来源于linux的/etc目录中
      (4)group文件 输入内容 为root:*:0:
      (5)修改boa.conf 文件。找到“Group nogroup”这一行,修改为“Group root”,找到“#ServerName www.your.org.here”这一行,修改为“ServerName www.your.org.here”,找到“DocumentRoot /var/www”这一行,修改为“DocumentRoot /www”,找到 “ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/” 这一行, 修改为 “ScriptAlias /cgi-bin/ /www/cgi-bin/” 保存并退出
      (6)开机启动设置 etc/init.d/rcS 的最后一行 输入boa &
      (7)index.html文件为访问主页面

    4.测试方法

    输入服务器IP地址进行测试
    
    展开全文
  • 一、什么是服务器、云服务器 ... 以前都是传统服务器搭建Web运行环境,现在大多数都用云服务器搭建Web运行环境,因为云服务器具有高可靠性、高稳定性、高灵活性、高安全性、高性能,使用了云计算技术。 二、步...

    一、什么是服务器、云服务器

        服务器:是一种高性能的计算机

        云服务器:是一组集群服务器虚拟出类似独立服务器的部分,集群中每个服务器都有云服务器的一个镜像,从而大大提高了云服务器的稳定性。

        以前都是传统服务器搭建Web运行环境,现在大多数都用云服务器搭建Web运行环境,因为云服务器具有高可靠性、高稳定性、高灵活性、高安全性 、高性能,使用了云计算技术。  

     

    二、步骤

    1、在阿里云买一个Linux系统的云服务器

    2、在Windows上安装Xshell软件进行远程控制

    3、在Linux服务器中安装jdk1.8

    4、在Linux服务器中安装tomcat7.0

    5、在Linux服务器中安装mysql

     

    三、过程

    1、在阿里云买一个Linux系统的云服务器

    2、在Windows上安装Xshell软件进行远程控制

    3、在Linux服务器中安装jdk1.8

    (1)Xshell实现Windows上传文件到Linux服务器

    [root@localhost ~]# yum install lrzsz

        rz:上传文件

        sz 文件名:下载文件

    (2)在Windows下载Linux版本的jdk1.8上传到Linux服务器

    [root@localhost ~]# rz
    

    (3)在Linux服务器中安装jdk1.8,并配置环境变量

        ①解压安装包,到指定目录

    [root@localhost ~]# ls
    [root@localhost ~]# tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local/

        ②进入指定目录,更改文件名

    [root@localhost ~]# cd /usr/local
    [root@localhost local]# ls
    [root@localhost local]# mv jdk1.8.0_171 jdk1.8
    [root@localhost local]# ls

        ③配置环境变量

    [root@localhost local]# vim /etc/profile
    export JAVA_HOME=/usr/local/jdk1.8
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$JAVA_HOME/bin:$PATH
    [root@localhost local]# source /etc/profile
    [root@localhost local]# java -version

     

    4、在Linux服务器中安装tomcat7.0

    (1)在Windows下载tomcat7.0上传到Linux服务器

    [root@localhost local]# cd ~
    [root@localhost ~]# rz

    (2)在Linux服务器安装tomcat7.0

        ①解压安装包,到指定目录

    [root@localhost ~]# ls
    [root@localhost ~]# tar -zxvf apache-tomcat-7.0.86.tar.gz -C /usr/local/

        ②进入指定目录,更改文件名

    [root@localhost ~]# cd /usr/local
    [root@localhost local]# ls
    [root@localhost local]# mv apache-tomcat-7.0.86 tomcat
    [root@localhost local]# ls

     

        ③ 启动tomcat和检查是否启动

     

    [root@localhost local]# cd tomcat/bin
    [root@localhost bin]# ./startup.sh
    [root@localhost bin]# ps -aux | grep tomcat

     

        ④关闭tomcat和检查是否关闭    

     

    [root@localhost bin]# ./shutdown.sh

    关闭tomcat时,产生了上面图片异常,解决如下:

    [root@localhost bin]# ps -aux | grep tomcat
    [root@localhost bin]# kill 2243
    [root@localhost bin]# ps -aux | grep tomcat

    [root@localhost bin]# vim $JAVA_HOME/jre/lib/security/java.security

    把securerandom.source=file:/dev/random改为securerandom.source=file:/dev/urandom

    [root@localhost bin]# ./startup.sh
    [root@localhost bin]# ./shutdown.sh

     

    5、在Linux服务器中安装mysql

    (1)在Linux服务器使用wget命令下载mysql

    [root@localhost bin]# cd ~
    [root@localhost ~]# wget http://mirrors.sohu.com/mysql/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz 

    (2)在Linux服务器安装mysql

        ①解压安装包,到指定目录

    [root@localhost ~]# ls
    [root@localhost ~]# tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz -C /usr/local/

        ②进入指定目录,更改文件名

    [root@localhost ~]# cd /usr/local
    [root@localhost local]# ls
    [root@localhost local]# mv mysql-5.7.17-linux-glibc2.5-x86_64 mysql
    [root@localhost local]# ls

    ③创建一个用户组和用户,因为mysql必须运行在mysql用户组和mysql用户下,不能运行在root下。

    [root@localhost local]# groupadd mysql
    [root@localhost local]# useradd -r -g mysql mysql

        查看用户组和用户

    [root@localhost local]# cat /etc/group
    [root@localhost local]# cat /etc/shadow

    ④修改mysql所属用户组和用户

    [root@localhost local]# cd mysql
    [root@localhost mysql]# chgrp -R mysql .
    [root@localhost mysql]# chown -R mysql .

     

    ⑤使mysqld启动时自动读取my.cnf文件

     

    [root@localhost mysql]# ls
    [root@localhost mysql]# cd support-files
    [root@localhost support-files]# ls
    [root@localhost support-files]# cp my-default.cnf /etc/my.cnf

    阿里云的Linux系统中可能有默认mysql,终端会提示你是否覆盖,输入y即可

    ⑥初始化mysql数据库

    [root@localhost support-files]# cd ../
    [root@localhost mysql]# cd bin
    [root@localhost bin]# ./mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
    [root@localhost bin]# cd ../
    [root@localhost mysql]# ls

    若生成data目录表示mysql数据库初始化成功,并且mysql的root用户会产生一个随机密码:gjqR7Ptt1)dk

    注意:运行该命令报错如:error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory 是因为无该链接库文件,使用命令,yum install  libaio-devel.x86_64

    ⑦给数据加密

    [root@localhost mysql]# cd bin
    [root@localhost bin]# ./mysql_ssl_rsa_setup --datadir=/usr/local/mysql/data

    ⑧启动mysql和检查是否启动mysql

    [root@localhost bin]# ./mysqld_safe --user=mysql&
    [root@localhost bin]# ps -ef | grep mysql

    ⑨修改data的所属用户

    [root@localhost bin]# cd ../
    [root@localhost mysql]# chown -R mysql data

    ⑩把mysql设置开机自动启动

    [root@localhost mysql]# cd support-files
    [root@localhost support-files]# cp mysql.server /etc/init.d/mysql.server
    [root@localhost support-files]# vim /etc/init.d/mysql.server

        找的basedir和datadir进行添加路径

    basedir=/usr/local/mysql 
    datadir=/usr/local/mysql/data
    [root@localhost support-files]# /etc/init.d/mysql.server stop
    [root@localhost support-files]# /etc/init.d/mysql.server start

    [root@localhost support-files]# chkconfig --add mysql.server
    [root@localhost support-files]# chkconfig --list | grep mysql

    (3) 登录mysql(root和临时密码),并修改mysql的用户root的密码

    [root@localhost support-files]# cd ../
    [root@localhost mysql]# cd bin
    [root@localhost bin]# ./mysql -uroot -p
    mysql> set password=password('123456');

     

     

    (4)利用Windows的Navicat for MySQL进行远程管理Linux服务器的mysql

     

     

    ①在Linux服务器关闭防火墙和授权

    mysql> exit
    [root@localhost bin]# systemctl stop firewalld.service
    [root@localhost bin]# ./mysql -uroot -p
    mysql> grant all privileges on *.* to 'root'@'%' identified by '123456';
    mysql> use mysql
    mysql> select user,host from user;
    mysql> flush privileges;

    ②在Windows利用Navicat for MySQL进行远程连接 

    利用Navicat for MySQL连接阿里云的Linux服务器的mysql时会产生如下异常:

    解决方法:阿里云的控制台——云服务器ECS——网络和安全——安全组——配置规则

    配置完成,就可以远程控制了

    展开全文
  • 如果读者以前做过web开发的话,就应该知道如何去搭建一个web服务器来跑你的web站点,在windows下你可能会选择去用IIS,十分的快捷,在linux下,你可能首先会想到apache,“一哥”( W3Techs网站数据的排名)啦 ...
  • WEB/HTTP服务器搭建

    2019-01-20 10:03:33
    对于软件都有服务和客户,有服务端和客户端 服务 就是在操作系统运行一个或者多个程序,并为客户端提供相应所需的...web服务器一般指网站服务器,他是一个驻留于Internet的一个计算机程序,用于向浏览器提供文档...
  • 简单FTP服务器搭建教程
  • web服务器搭建 最近在Ubuntu上搭建了dns服务器,在此之前需先安装web服务器,关于dns服务器搭建与配置于下篇写。 Apache服务器的安装 1.首先在虚拟机上安装Apache服务器; 2.开启Apache服务,输入命令:/etc/...
  • 本文将详细讲解使用Linux搭建web服务器的过程。搭建成功之后,可以通过网址:www.zhougb3.cn访问我的个人博客主页。1.准备工作为了让用户都可以访问我们的网站,我们需要有一台可以通过外网访问的服务器
  • WIN7搭建web服务器的步骤   1.打开控制面板,点击“程序”,找到“打开或关闭Windows功能”,找到“Internet信息服务”,将其中的选项全部勾选,点击确定,然后开始更新服务,可能要等待几分钟。 2.打开浏览器...
  • 很多童鞋说自己是做移动开发的,想挂个简单的Web API,可是服务器又不会...看看网上的教程,发现略难懂,而且大多是一个转一个,没价值,所以干脆写几篇文章讲讲简单的Web服务器怎么搭,让不太涉及Web的童鞋快速上手。
  • 搭建局域网web服务器

    2016-08-19 17:21:20
    打开控制面板,选择并进入“程序”,双击“打开或关闭Windows服务”,在弹出的窗口中选择“Internet信息服务”下面所有地选项,点击确定后,开始更新服务。 ...当web服务器搭建成功后,我们
  • Ubuntu 18.04下使用Apache搭建一个web服务器 几个必要的概念 web服务器 以我之见,web服务器就是运行在计算机上的一个向整个网络或者是web客户端、浏览器提供文档的一个程序,我们通过http请求便可以获取到...
  • 阿里云的使用(web搭建和云服务器的使用) 首先申请一个域名(腾讯百度阿里都可以) 然后申请一个云服务器(同样都可以) 进行域名解析,我的域名是百度云的,解析方式如下 点击域名管理 点解析-&gt;添加解析-&...
  • 服务器又不回搭,这样测试很不方便,之前都是别人给我搭建服务器的,可每次也不能找人帮忙,自己动手丰衣足食嘛,于是自己查资料在结合自己的搭建web服务器跟大家展示一下,希望帮到不怎么搭建web服务器的童靴,...
  • 服务器最大的用途,就是可以搭建网站,许多人都认为搭建网站是一件很难的事情,因为包含许多的比较专业东西,比如服务器、编程之类的,确实,在几年前是这样的,普通人想要自己做一个网站太难了 但是随着网站发展了...
  • 搭建web服务器

    2018-06-18 07:40:41
    在本地pc上搭建web服务器,利用路由器,将本地pc和手机通过无线局域网组成局域网,本地ip为192.168.0.106,手机ip为192.168.101,win+r----&gt;在cmd命令行窗口输入:ping 192.168.0.101.检查电脑和手机是否能...
  • 本章主要讲解如何购买和配置阿里云ECS服务器以及搭建网络站点。
  • centos7.0 web服务器搭建

    2019-08-13 09:09:04
    centos7.0 web服务器搭建 前言 按照先易后难排序,在vmware虚拟机环境 下模拟,统一防火墙为Firewall ,统一在xshell下操作终端实现搭建. (强烈建议新手 安装选择 带gui服务器 这样终端 操作可以复制,分析文件,...
1 2 3 4 5 ... 20
收藏数 200,153
精华内容 80,061