精华内容
下载资源
问答
  • Linux搭建web服务器

    2020-12-08 10:35:21
    Linux中 httpd服务 转载于白蓝的橙 httpd是Apache超文本传输协议(HTTP)服务器的主程序,运行该程序 即可启动web服务。 命令参数 -h可查看命令选项 -M查看静态编译及动态装载的模块(动态模块加载:不需重启即生效)...

    Linux中 httpd服务

    部分借鉴于白蓝的橙

    httpd是Apache超文本传输协议(HTTP)服务器的主程序,运行该程序
    即可启动web服务。

    一般结合DNS使用
    Linux下配置dns的三种方法

       1. HOST 本地DNS解析  vi /etc/hosts   eg:23.231.234.33 www.baidu.com
    
       2. 网卡配置文件DNS服务地址  vi /etc/sysconfig/network-scripts/ifcfg-eth0   eg:DSN1='114.114.114.114'
    
       3. 系统默认DNS配置   vi /etc/resolv.conf   eg:nameserver 114.114.114.114
    
           系统解析的优先级 1>2>3
    

    命令参数

    -h可查看命令选项
    
    -M查看静态编译及动态装载的模块(动态模块加载:不需重启即生效)
    
    -c<httpd指令> 在读取配置文件前,先执行选项中的指令。
    
    -C<httpd指令> 在读取配置文件后,再执行选项中的指令。
    
    -d<服务器根目录> 指定服务器的根目录。
    
    -D<设定文件参数> 指定要传入配置文件的参数。
    
    -f<设定文件> 指定配置文件。
    
    -l 显示服务器编译时所包含的模块。
    
    -L 显示httpd指令的说明。
    
    -S 显示配置文件中的设定。
    
    -t 测试配置文件的语法是否正确。
    
    -v 显示版本信息。
    
    -V 显示版本信息以及建立环境。
    
    -X 以单一程序的方式来启动服务器
    

    配置文件

    httpd服务配置文件模块化,以便于管理

    主配置文件/etc/httpd/conf/httpd.conf
    调用配置文件 /etc/httpd/conf.d/*.conf

    httpd默认先读取主配置文件,再读其他配置文件。

    一般是尽量不在主配置文件上修改,有操作时新建其他配置文件,如控制访问的文件这类。
    

    Apache默认文件路径在/var/www/html修改主配置文件的DocumentRoot可以设置新的路径。

    检测配置文件语法:

    httpd -t
    service httpd configtest

    简单搭建web服务器

    1,安装httpd(Apache)软件包(服务端软件)
    [root@server~]#yum -y install  httpd
    2.重起httpd服务
    [root@server~]#systemctl restart httpd
    [root@server~]#systemctl enable httpd
    3、写个页面
    默认存放网页路径  /var/www/html
    默认主页名称 index.html
    4、重启服务并设置开启启动
    systemclt restart httpd
    systemclt enable httpd
    5、验证
    http://服务器ip或域名/
    

    httpd配置虚拟主机

    一台服务器一般只能配置一个站点,通过httpd的虚拟主机功能可实现在一台主机上配置多个站点。
    httpd虚拟主机配置分别可以基于ip,基于端口,基于域名。
    一旦使用虚拟web主机功能,所有的网站都必须用虚拟web主机实现。

    1、基于ip需要服务器一个站点对应一个ip,需要服务器有多个网卡或者启用网卡的别名。

    2、基于端口需要开启额外的端口(默认80开启)分配给站点,而用户在访问时则需要注明访问的端口才可以访问,由于额外开启的端口不是默认端口,用户要自己记住这些端口,故不建议使用这种方式。

    3、基于域名时则可以直接通过用户要访问的域名而链接到对应的站点,不需要额外的ip和端口,虽然在用户要访问一个站点时是dns先将用户输入的域名解析为ip(此时服务器只有一个ip,实际上所有站点都会解析为一个ip)然后在访问到服务器,再通过数据包中的端口找到httpd服务,但是由于在传输的数据包中包含有域名的数据,所以在通过ip+端口找到服务器和httpd服务后,httpd通过分析数据包中的域名信息即可知道用户要访问的是哪一个站点了。但是如果用户通过ip访问则会默认访问到第一个站点。

    下面是三种虚拟主机的配置方式:

    注意修改配置文件是在调用配置文件 /etc/httpd/conf.d/下以*.conf结尾,不然无法生效。

    1、基于端口

    [root@centos7(nanyibo) ~]# vim /etc/httpd/conf.d/vhost.conf
    
    Listen 8080 //开启额外的监听端口
    
    Listen 9090
    
    <VirtualHost *:8080> //虚拟主机的开始标签<VirtualHost ip:port> *表示任意
    
    DocumentRoot "/app/website1" //网页文件存放的目录,同时也是URL路径的起始位置
    
    <Directory "/app/website1"> //虚拟主机的文件目录标签
    
    Require all granted //允许所有人访问
    
    </Directory>
    
    </VirtualHost> //虚拟主机的结束标签
    
    <VirtualHost *:9090>
    
    DocumentRoot "/app/website2"
    
    <Directory "/app/website2">
    
    Require all granted
    
    </Directory>
    
    </VirtualHost>
    

    2、基于ip

    [root@centos7(nanyibo) ~]# vim /etc/httpd/conf.d/vhost.conf
    
    <VirtualHost 192.168.153.17:80>
    
        DocumentRoot "/app/website1"
    
        <Directory "/app/website1">
    
        Require all granted
    
        </Directory>
    
    </VirtualHost>
    
    <VirtualHost 192.168.153.27:80>
    
        DocumentRoot "/app/website2"
    
        <Directory "/app/website2">
    
        Require all granted
    
        </Directory>
    
    </VirtualHost>
    
    [root@centos7(nanyibo) ~]# ifconfig ens34:0 192.168.*.1/24 //通过别名对一个网卡配置多个ip
    
    [root@centos7(nanyibo) ~]# ifconfig ens34:1 192.168.*.2/24
    

    3、基于域名的虚拟主机

    <VirtualHost *:80>
        ServerName  server1.com
        DocumentRoot /var/www/webapp
        Alias / /var/www/webapp/index.html   #设置别名,当输入/ 访问后面的内容
            <Directory "/var/www/webapp">
                    Require all granted
            </Directory>
    </VirtualHost>
    
    <VirtualHost *:80>
        ServerName  server1-1.com
        DocumentRoot /var/www/baidu
            <Directory "/var/www/baidu">
                    Require all granted
            </Directory>
    </VirtualHost>
    

    服务端要在/var/www/下创建相应的文件夹,同时客户端要能够解析这两个域名。
    在这里插入图片描述

    问题:原先的域名是www.server1.com 发现效果是/var/www/html/index.html的内容,域名去掉www正常显示。
    经过分析是浏览器的缓存影响,原先缓存了www.server1.com的旧效果,更新httpd单纯的输入网址跳转没有改变。所以刷新界面很重要!
    注意要结合域名解析
    修改配置文件要重启httpd
    修改站点内容实时同步

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

    2020-10-27 22:47:44
    1、安装web服务的详细过程。 (1)创建挂载点目录 [root@localhost ~]# mkdir /guangpan (2)进入配置文件写安装包仓库 保存退出 (3)挂载 (5)查看yum源的状态信息 (6)下载安装 出现complete...

    1、安装web服务的详细过程。

    (1)创建挂载点目录

    [root@localhost ~]# mkdir /guangpan

    (2)进入配置文件写安装包仓库

    保存退出

    (3)挂载

    (5)查看yum源的状态信息

    (6)下载安装

    出现complete则下载完成。

    2.web服务配置文件的参数信息

    (1) ServerRoot "/etc/httpd         http 服务的顶级目录为/etc/httpd

    (2)Listen 80      监听在80端口,80为web服务器的默认端口

    (3)Include conf.modules.d/*.conf     包括/etc/httpd/conf.modules.d/*.conf的所有文件

    (4)User apache   服务的用户(ps -ef | grep httpd,先以root用户把/usr/sbin/httpd服务启动起来)。启动服务后转换的身份,在启动服务时通常以root身份,然后转换身份,这样增加系统安全

    (5)Group apache 组阿帕奇

    (6)ServerAdmin root@localhost   你的邮箱,有事的时候给你发邮箱

    (7)ServerName www.example.com:80     通过域名,监听端口在80端口。 默认是不需要指定的,服务器通过名字解析过程来获得自己的名字,但如果解析有问题(如反向解析不正确),或者没有DNS名字,也可以在这里指定ip地址,当这项不正确的时候服务器不能正常启动。解决办法就是启动该项把www.example.com:80修改为自己的域名或者直接修改为localhost。

     (8)<Directory />    目录为根,<>为起始标志,</>为结束标志

     (9)AllowOverride none        不允许这个目录下的访问控制文件来改变这里的配置,这也意味着不用查看这个目录下的访问控制文件。

    (10)Require all denied       拒绝请求访问

     (11)</Directory>        和<Directory />是一组标签,目录控制容器

    (12)DocumentRoot "/var/www/html"       网页文件存放的目录

     (13)<Directory "/var/www/cgi-bin">

    AllowOverride None          不做任何覆盖

       Options None

    Require all granted         允许/var/www/cgi-bin访问

    (14)<IfModule dir_module>
         DirectoryIndex index.html        通过目录指定链接

    (15)<Files ".ht*">
         Require all denied           账号文件和密码文件不允许访问

    (16)ErrorLog "logs/error_log"     日志信息

    (17)LogLevel warn            日志等级

    (18)<IfModule log_config_module>    指定日志配置模块

    (19) LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{    User-Agent}i\"" combined
         LogFormat "%h %l %u %t \"%r\" %>s %b" common
     
         <IfModule logio_module>
           # You need to enable mod_logio.c to use %I and %O
          LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"    %{User-Agent}i\" %I %O" combinedio        %h%l%u都是时间参数

    (20)</IfModule>

    cgi(通用网关接口)是web服务器运行时外部程序的规范,按cgi编写的程序可以扩展服务器的功能。cgi应用程序能与浏览器进行交互,还可通过数据库API与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据

    (21)<IfModule mime_module>    多用途互联网邮件扩展模块

    (22)</IfModule>

    mime多用途互联网邮件扩展类型,是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问时,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。 

    (23) AddDefaultCharset UTF-8  默认字符集w

    (24)EnableSendfile on    启动发送文件

    (25)IncludeOptional conf.d/*.conf     加载子配置文件

    3、整理本节课程中的问题

                浏览器访问IP地址时很长时间才出现反应

     

     

     

     

     

     

     

     

     

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

    2018-11-22 12:53:38
    为了让用户都可以访问我们的网站,我们需要有一台可以通过外网访问的服务器,这里选用的是腾讯云的服务器,安装的是Ubuntu16.04的系统。这里我们同时注册了域名,这样子用户就可以直接通过域名访问服务器,而不用...

    1.准备工作
    为了让用户都可以访问我们的网站,我们需要有一台可以通过外网访问的服务器,这里选用的是腾讯云的服务器,安装的是Ubuntu16.04的系统。这里我们同时注册了域名,这样子用户就可以直接通过域名访问服务器,而不用输入一串生涩难记,毫无规则的IP地址。

    2.使用ssh连接远程服务器
    SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。我们使用ssh连接我们的远端腾讯云服务器,并在远端服务器上进行我们的web应用部署。在这里我们进行连接的本地机器也是Ubuntu16.04系统。ssh分为客户端和服务端,Ubuntu内置了ssh的客户端,通过在远端机器运行ssh服务端,本地就可以通过ssh客户端进行连接了。以下介绍ssh配置的具体操作。首先我们需要在远端服务器上通过命令“sudo apt-get install openssh-server”安装ssh服务端。那么问题来啦,现在我们不是还没有办法连接远端服务器,那又怎么在上面进行操作?其实,我们仍然是可以连接远端服务器的,只是不能通过ssh的方法,虽然不足够安全但是也可以进行操作的。如果购买的是腾讯云服务器,我们可以在腾讯云服务器的控制台登录上服务器,使用我们购买时设置的账号密码即可成功登录。成功在远端服务器上安装ssh后,我们回到我们本地的机器,通过命令“su - user”切换为我们以后想要用来连接远端服务器的本地用户,如果现在本地机器的用户是你想要连接远端机器的用户则不用执行该命令。接着输入命令“ssh-keygen -t rsa”生成密钥文件,在生成的过程中会提示你输入密码,此时我们按Enter键即可。这里设置的密码是用来读取密钥文件的密码,如果设定了之后每次进行ssh连接都需要输入密码才能读取密钥文件,这样就比较麻烦了。命令执行完之后会生成一个公钥文件和一个私钥文件,我们需要将生成的公钥文件拷贝到远端服务器,使用如下命令完成“scp.ssh/id_rsa.pubuser@192.168.1.100:/home/user/”。这里“.ssh/id_rsa.pub”是公钥文件的路径,“user@192.168.1.100”是远端服务器的ip地址和用户名。这里我们又回到了远程机器上,可以发现已经有了公钥文件,这时候我们在远端服务器以下命令“mv/home/user/id_rsa.pub/home/user/.ssh/authorized_keys”,如果没有相应的文件夹则要提前建立。这样子,一切配置就算完成了,我们在远端服务器执行以下命令来开启ssh服务“service sshd start” 
    然后我们回到本地机器,通过执行命令“ssh user@192.168.1.100”我们就可以成功连接上远端服务器了。这时候我们就可以在本地使用ssh安全地对远程服务器进行操作了,我们首先要做的就是将我们的项目源码拷贝到远端服务器上。 
    这里要注意远端服务器上的文件夹和文件的权限问题。可以通过以下命令正确设置权限“#chmod700 .ssh”“#chmod 600 authorized_keys”

    3.使用Nginx服务
    Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx能更好地帮我们处理静态资源文件。使用命令“$ sudo apt-get install nginx”安装Nginx。安装完成之后,需要我们手动编写配置文件并置于“/etc/nginx/sites-available/”文件夹下,然后在/etc/nginx/sites-enabled/目录下创建软链接,使用如下命令链接到我们的配置文件$sudo ln -s /etc/nginx/sites-available/cffilename .。每次修改完配置文件后,使用命令$ sudo /etc/init.d/nginx reload即可重新开启Nginx服务。Nginx配置文件的编写这里就不赘述了,可以查看相关文档学习。主要是编写一个处理静态资源文件还有一个处理动态请求转发的。在设定文件路径时,请使用绝对路径,否则会无法找到文件。Nginx有一个默认的配置文件default,需要把default文件下的root路径注释掉。 
    使用Nginx同样要注意文件和文件夹的权限问题,否则Nginx可能没有办法读取所需要的静态资源文件。需要读取的文件夹需要有可执行的权限,否则无法进入文件夹进行读文件的操作,对于文件则要有对应的读取权限。

    4.使用supervisor管理进程
    supervisor是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisor监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,而不需要我们自己写脚本控制。对于一个长期运行的web服务器,我们的服务端代码应该一直处于正常运行的状态,使用supervisor来管理我们的服务端代码,能够很好地做到这一点。Supervisor是一个Python工具,通过执行命令“pip install supervisor”来安装,不过在此之前我们的服务器上应该安装有Python和pip包管理工具。安装完成后,我们可以使用命令“supervisord -c /etc/supervisord.conf”来启动服务。 
    Supervisor安装完成后每次服务器开机时都会自动启动的,不需要我们重复开启,如果重复开启多个运行时会出错,而且报错的信息也多种多样,可能提示端口被占用。supervisor会把配置文件中的进程全部运行。我们可以通过使用命令“ps aux|grep superviosrd”或“ps -ef|grep superviosrd”查看当前运行的服务,如果有重复则使用kill命令杀掉该进程。每次修改完配置文件后要通过命令“sudo supervisorctl reload ”来重新加载服务。正确配置完成后,可以通过命令“netstat -lpnt”来查看监听端口。Supervisor配置文件的编写如果需要路径也要注意采用绝对路径。

    5.使用Fabric实现自动化部署
    通过ssh连接远程服务器进行操作,使用Nginx和supervisor部署应用,这样子一个能够稳定运行的web服务器就搭建起来了。但是,我们的web应用在运行过程中可能会遇到各种各样的问题,程序员需要对代码进行不断地完善。如果每次修改代码后都要重新手动拷贝一份文件到服务器,然后再重新部署,那这过程一定是相当低效繁琐的,并且大大增加了出错的可能性。聪明的程序员是不会把时间花在重复的机械性操作上的。因此,自动化部署工具应运而生,Fabric则是其中的一个典型代表,Fabric目前只支持Python2,使用命令“pip install fabric”进行安装,Fabric使用了ssh直接登录服务器进行操作。Fabric脚本的编写可以查看相关文档学习,主体的思想便是将在部署时在本地执行的和远程执行的命令写进不同的函数中,每次重新部署时只需要在本地运行函数即可。本地运行的指令和服务器运行的指令对应着不同的命令格式,以此作为区分。
     

    展开全文
  • Linux搭建WEB服务器.doc

    2013-03-12 21:55:51
    Linux搭建WEB服务器.doc
  • 本文将详细讲解使用Linux搭建web服务器的过程。搭建成功之后,可以通过网址:www.zhougb3.cn访问我的个人博客主页。 1.准备工作 为了让用户都可以访问我们的网站,我们需要有一台可以通过外网访问的服务器,这里...

    对于一个网站开发者而言,在经历了艰难的开发过程后,要将网站推向给用户,必须要做的一步便是部署我们的web应用,这样广大的用户才能成功访问我们的网站。目前主流的部署平台都是基于Linux的。本文将详细讲解使用Linux搭建web服务器的过程。搭建成功之后,可以通过网址:www.zhougb3.cn访问我的个人博客主页。

    1.准备工作

    为了让用户都可以访问我们的网站,我们需要有一台可以通过外网访问的服务器,这里选用的是腾讯云的服务器,安装的是Ubuntu16.04的系统。这里我们同时注册了域名,这样子用户就可以直接通过域名访问服务器,而不用输入一串生涩难记,毫无规则的IP地址。

    2.使用ssh连接远程服务器

    SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。我们使用ssh连接我们的远端腾讯云服务器,并在远端服务器上进行我们的web应用部署。在这里我们进行连接的本地机器也是Ubuntu16.04系统。ssh分为客户端和服务端,Ubuntu内置了ssh的客户端,通过在远端机器运行ssh服务端,本地就可以通过ssh客户端进行连接了。以下介绍ssh配置的具体操作。首先我们需要在远端服务器上通过命令“sudo apt-get install openssh-server”安装ssh服务端。那么问题来啦,现在我们不是还没有办法连接远端服务器,那又怎么在上面进行操作?其实,我们仍然是可以连接远端服务器的,只是不能通过ssh的方法,虽然不足够安全但是也可以进行操作的。如果购买的是腾讯云服务器,我们可以在腾讯云服务器的控制台登录上服务器,使用我们购买时设置的账号密码即可成功登录。成功在远端服务器上安装ssh后,我们回到我们本地的机器,通过命令“su - user”切换为我们以后想要用来连接远端服务器的本地用户,如果现在本地机器的用户是你想要连接远端机器的用户则不用执行该命令。接着输入命令“ssh-keygen -t rsa”生成密钥文件,在生成的过程中会提示你输入密码,此时我们按Enter键即可。这里设置的密码是用来读取密钥文件的密码,如果设定了之后每次进行ssh连接都需要输入密码才能读取密钥文件,这样就比较麻烦了。命令执行完之后会生成一个公钥文件和一个私钥文件,我们需要将生成的公钥文件拷贝到远端服务器,使用如下命令完成“scp.ssh/id_rsa.pubuser@192.168.1.100:/home/user/”。这里“.ssh/id_rsa.pub”是公钥文件的路径,“user@192.168.1.100”是远端服务器的ip地址和用户名。这里我们又回到了远程机器上,可以发现已经有了公钥文件,这时候我们在远端服务器以下命令“mv/home/user/id_rsa.pub/home/user/.ssh/authorized_keys”,如果没有相应的文件夹则要提前建立。这样子,一切配置就算完成了,我们在远端服务器执行以下命令来开启ssh服务“service sshd start”
    然后我们回到本地机器,通过执行命令“ssh user@192.168.1.100”我们就可以成功连接上远端服务器了。这时候我们就可以在本地使用ssh安全地对远程服务器进行操作了,我们首先要做的就是将我们的项目源码拷贝到远端服务器上。
    这里要注意远端服务器上的文件夹和文件的权限问题。可以通过以下命令正确设置权限“#chmod700 .ssh”“#chmod 600 authorized_keys”

    3.使用Nginx服务

    Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx能更好地帮我们处理静态资源文件。使用命令“$ sudo apt-get install nginx”安装Nginx。安装完成之后,需要我们手动编写配置文件并置于“/etc/nginx/sites-available/”文件夹下,然后在/etc/nginx/sites-enabled/目录下创建软链接,使用如下命令链接到我们的配置文件$sudo ln -s /etc/nginx/sites-available/cffilename .。每次修改完配置文件后,使用命令$ sudo /etc/init.d/nginx reload即可重新开启Nginx服务。Nginx配置文件的编写这里就不赘述了,可以查看相关文档学习。主要是编写一个处理静态资源文件还有一个处理动态请求转发的。在设定文件路径时,请使用绝对路径,否则会无法找到文件。Nginx有一个默认的配置文件default,需要把default文件下的root路径注释掉。
    使用Nginx同样要注意文件和文件夹的权限问题,否则Nginx可能没有办法读取所需要的静态资源文件。需要读取的文件夹需要有可执行的权限,否则无法进入文件夹进行读文件的操作,对于文件则要有对应的读取权限。

    4.使用supervisor管理进程

    supervisor是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisor监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,而不需要我们自己写脚本控制。对于一个长期运行的web服务器,我们的服务端代码应该一直处于正常运行的状态,使用supervisor来管理我们的服务端代码,能够很好地做到这一点。Supervisor是一个Python工具,通过执行命令“pip install supervisor”来安装,不过在此之前我们的服务器上应该安装有Python和pip包管理工具。安装完成后,我们可以使用命令“supervisord -c /etc/supervisord.conf”来启动服务。
    Supervisor安装完成后每次服务器开机时都会自动启动的,不需要我们重复开启,如果重复开启多个运行时会出错,而且报错的信息也多种多样,可能提示端口被占用。supervisor会把配置文件中的进程全部运行。我们可以通过使用命令“ps aux|grep superviosrd”或“ps -ef|grep superviosrd”查看当前运行的服务,如果有重复则使用kill命令杀掉该进程。每次修改完配置文件后要通过命令“sudo supervisorctl reload ”来重新加载服务。正确配置完成后,可以通过命令“netstat -lpnt”来查看监听端口。Supervisor配置文件的编写如果需要路径也要注意采用绝对路径。

    5.使用Fabric实现自动化部署

    通过ssh连接远程服务器进行操作,使用Nginx和supervisor部署应用,这样子一个能够稳定运行的web服务器就搭建起来了。但是,我们的web应用在运行过程中可能会遇到各种各样的问题,程序员需要对代码进行不断地完善。如果每次修改代码后都要重新手动拷贝一份文件到服务器,然后再重新部署,那这过程一定是相当低效繁琐的,并且大大增加了出错的可能性。聪明的程序员是不会把时间花在重复的机械性操作上的。因此,自动化部署工具应运而生,Fabric则是其中的一个典型代表,Fabric目前只支持Python2,使用命令“pip install fabric”进行安装,Fabric使用了ssh直接登录服务器进行操作。Fabric脚本的编写可以查看相关文档学习,主体的思想便是将在部署时在本地执行的和远程执行的命令写进不同的函数中,每次重新部署时只需要在本地运行函数即可。本地运行的指令和服务器运行的指令对应着不同的命令格式,以此作为区分。

    6.使用Git服务器

    在使用Fabric进行自动化部署时,我们可能经常会用到Git服务器,将本地代码上传到Git服务器,再在远端服务器拉下代码。很多大公司都会有自己的Git服务器,用于公司内部项目的共同开发。在这里,我们使用github提供给我们的免费平台。使用“sudo apt-get install git”安装git。请注意,git只能跟踪文本文件的改动,对于二进制文件没办法跟踪具体信息。然后我们就可以使用“git init”在本地初始化一个git仓库。至于git仓库下文件的增删改动,版本回退等具体操作这里就不赘述了。这里要讲一下如何连接到远程库。首先需要看看我们本机上是否有SSH Key。如果没有则需要运行命令$ ssh-keygen -t rsa -C "youremail@example.com创建密钥文件。然后在网页上登录我们的github账号,添加SSH Key,将生成的公钥文件复制进去,这样一来就可以实现本机和远程github服务器间的连接了。在我们的github账号上创建一个仓库,然后在本机的仓库目录下执行命令“$ git remote add origin git@github.com:zhougb3/learngit.git”,这里需要替换为你自己的用户名。这样子之后就可以使用push命令上传你的代码到远程github服务器上了。然后在我们的web服务器上,我们就可以通过clone命令从远程库克隆代码了。

    7. Linux下用户和权限管理

    Linux最优秀的地方便在于它的多人多工环境,而为了让各个使用者拥有较为保密的文件资料,因此文件的权限管理就显得异常重要了。在我们使用Linux的过程中,如果不懂得Linux的基本用户和权限管理,很多时候在执行命令时都会出现问题。特别是在我们搭建web服务器时,没有正确使用好权限配置会导致某些重要文件不可读,从而导致配置失败。Linux一般将用户可存取的身份分为三个类别,分别是owner/group/others,并且三种身份各有read/write/execute等权限。改变文件的权限可以通过使用chmod命令来实现,而改变文件所属的用户信息可以通过chgrp/chown/chown命令来实现。对于目录的读写执行权限需要额外的注意。目录的读权限表明可以对这个目录使用ls目录查看其内容,但只能得到文件名,不能得到详细的信息。write权限表示允许用户改变目录中的内容,即可以在命令中创建、删除、重命名文件,即使用户不是文件的属主。但是不一定有权限能读取文件具体内容。目录的execute权限表示可以使用cd目录进入这个目录(当然前提是能够进入这个目录的上一级目录),进入后可以进行的操作,决定于这个目录中各项内容(即目录中的子目录或文件)的权限设置。此时不能看见文件名,但可以根据文件权限操作文件。请注意,Linux下文件可不可以执行是由权限决定的,我们经常会给文件添加副文件名,但这只是便于我们了解文件的属性。

    8. 总结

    以上就是在Linux平台上部署web服务器的基本流程,正确高效地部署对于日后网站的长期维护有着极为重要的作用。而对于一个网站开发者而言,熟悉基本的网站部署知识也是很有必要的,有利于开发者写出更为实用高效的代码。正确完成以上部署后,便可以通过网址:www.zhougb3.cn访问我的个人博客。个人博客源码可参考github链接:https://github.com/zhougb3/python_blog

    展开全文
  • linux搭建web服务器流程1、首先我们需要登录Linux服务器,可以使用VNC和SSH。主要使用的是SSH。ssh root@ip -p 222、然后我们可以使用apt和yum命令来更新系统sudo apt updatesudo apt upgradesudo yum updat...
  • 1.要求搭建web服务器,能够访问到网页内容为“小胖,你咋这么胖呢!” (1)安装httpd包 (2)设置权限允许访问 保存退出 (3)创建目录,写入信息 (4)关闭防火墙,重启服务 (5)在浏览器界面...
  • linux httpd假设服务器地址为192.168.80.20/241.将准备安装的httpd软件包共享给everyone ,(1)在linux上mount.cifs //真机IP地址/共享文件夹名 /media /ls /meidia/查看tar xjvfhttpd-2.4.10.tar.bz2 -C/usr/src ...
  • 背景 趁活动新买了一个华为云,之前的阿里云服务器过期了,需要...1.先官网根据自己的linux位数下载一个JDK的包, 查看位数的命令:uname -r,其中x86_64代表64位的 JDK下载地址(根据自己的位数选择包):https://w...
  • Linux搭建Web服务器流程图分享

    千次阅读 2016-11-17 10:41:15
    第一种方案是提供初学者学习的比较简单,涉及到1台nginx(负载均衡)、2台web服务器、1台nfs(共享存储)、1台rsync(提供存储备份)、2台mysql(主从同步) 第二种方案比较复杂点适合稍微懂点服务器的人搭建,主要...
  • 最近在熟悉linux的使用,在搭建web环境时,找了N多例程,没有一个搭建成功,怀疑例程有问题,一直没注意浏览器的问题。 之前使用的是360极速浏览器,访问网页时一直很长时间才出现反应(有时候就没反应),就误认为...
  • 文章目录说明准备条件搭建一个默认web服务器最简单的方法搭建一个自定义index.html路径的web服务器添加web服务器路径修改默认监听端口创建一个动态web服务器 说明 常规情况下,只要安装了http服务,启动这个服务就会...
  • linux搭建web服务器

    2013-03-12 22:10:58
    里面包括 apr-1.4.6.tar.gz apr-util-1.4.1.tar.gz httpd-2.4.3.tar.bz2 php-5.4.0.tar.gz phpMyAdmin-3.0.0-rc1-all-languages.tar.gz wordpress-3.4.1-zh_CN.tar.gz 七个软甲 加搭建文档 Linux搭建WEB服务器.doc ...
  • linux搭建web服务器及数据库服务器
  • 主要想法是:使用虚拟机的Ubuntu系统搭建http服务器,然后在window的浏览器上测试1.先测试windows和虚拟机上的ubuntu能否相互ping通2.下载http.tar.gz并拷贝到linux系统的工作目录下3.解压该文件tar -vxzf ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,254
精华内容 1,701
关键字:

linux搭建web服务器

linux 订阅