用自己服务器做网站用备案,移动开发软件,去黄山旅游攻略,接私活 做网站目录
一、www简介
1、什么是www
2、www所用的协议
3、WEB服务器
4、主要数据
5、浏览器
二、 网址及HTTP简介
1、HTTP协议请求的工作流程
三、www服务器的类型(静态网站#xff08;HTML#xff09;#xff0c; 动态网站(jsp python,php,perl))
1、 仅提供… 目录
一、www简介
1、什么是www
2、www所用的协议
3、WEB服务器
4、主要数据
5、浏览器
二、 网址及HTTP简介
1、HTTP协议请求的工作流程
三、www服务器的类型(静态网站HTML 动态网站(jsp python,php,perl))
1、 仅提供用户浏览的单向静态网页
2、 提供用户互动接口的动态网站
搭建动态网站的需求
四、www服务器的基本配置
第一步挂载
第二步编辑配置文件
第三步安装软件包
第四步启动httpd
查看配置文件
主配置文件内容:
注如果没有apache能否正常运行源码安装常见问题
删除apache
解决方法添加apache用户
第五步设置防火墙状态
重启服务:
查看状态
查看是否启动成功
或者可以用
测试 一、www简介
1、什么是www www是world wide web的缩写也就是全球信息广播的意思。通常说的上网就是使用www来查询用户所需要的信息。www可以结合文字、图形、影像以及声音等多媒体并通过可以让鼠标单击超链接的方式将信息以Internet传递到世界各处去。
2、www所用的协议 HTTP超文本传输协议HyperText Transfer Protocal是互联网上最广泛的一种网络协议所有的WWW文件都必须遵守这个标准。它是建立在TCP上一种的无状态连接整个基本的工作流程是客户端发送一个HTTP请求说明客户端想要访问的资源和请求的动作服务端收到请求之后服务端开始处理请求并根据请求做出相应的动作访问服务器资源最后通过发送HTTP响应把结果返回给客户端。其中一个请求的开始到一个响应的结束称为事务当一个事物结束后还会在服务端添加一条日志条目。
3、WEB服务器
www web http apache http server tomcat nginx IIS 指网站服务器是指驻留与因特网上某种类型计算机的程序可以向浏览器等WEB客户端提供文档也可以放置网站文件让全世界浏览可以放置数据文件让全世界下载。 目前最主流的三个WEB服务器是Apache和Microsoft和Internet-信息服务器Internet Information ServicesIISunix nginx。
4、主要数据 服务器所提供的最主要数据是超文本标记语言Hyper Text Markup LanguageHTML、多媒体文件图片、影像、声音、文字等都属于多媒体或称为超媒体HTML只是一些纯文本数据通过所谓的标记来规范所要显示的数据格式。
5、浏览器 客户端收到服务器的数据之后需要软件解析服务器所提供的数据最后将效果呈现在用户的屏幕上。那么著名的浏览器就有内建在Windows操作系统内的IE浏览器了还有Firefox浏览器和Google的chrome浏览器
二、 网址及HTTP简介 web服务器提供的这些数据大部分都是文件那么我们需要在服务器端先将数据文件写好并且放置在某个特殊的目录下面这个目录就是我们整个网站的首页在redhat中这个目录默认在 /var/www/html 。浏览器是通过你在地址栏中输入你所需要的网址来取得这个目录的数据的
URLUniform Resource Locator统一资源定位符对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示是互联网上标准资源的地址。网址格式协议://主机或主机名[:port]/目录资源,路径 浏览器常支持的协议有http、https、ftp等主机地址或者主机名主机地址就是服务器在因特网所在的IP地址。如果是主机名的话那么就需要域名解析了端口号porthttp为80/8080https为443 IANA互联网数字分配机构 41952-60000客户端程序随机使用的端口动态端口或私有端口1024-41951亦为注册端口但要求不是特别严格分配给程序注册为某应用使用3306/TCP、 0-1023众所周知永久地分配给固定的应用程序使用特权端口只有管理员有权限启用并让进程监听 http请求方法在http通信中每个http请求报文都包含一个方法用以告诉web服务器端需要执行哪些具体的动作这些动作包括获取指定web页面、提交内容到服务器、删除服务器上资源文件等。 状态代码由三位数字组成第一个数字定义了响应的类别且有五种可能取值。 1xx指示信息 —— 表示请求已接收继续处理 2xx成功 —— 表示请求已被成功接收、理解、接受 3xx重定向 —— 要完成请求必须进行更进一步的操作 4xx客户端错误 —— 请求有语法错误或请求无法实现 5xx服务器端错误 —— 服务器未能实现合法的请求 常见状态代码、状态描述的说明如下 200 OK客户端请求成功 400 Bad Request客户端请求有语法错误不能被服务器所理解 401 Unauthorized请求未经授权这个状态代码必须和 WWW-Authenticate 报头域一起使用 403 Forbidden服务器收到请求但是拒绝提供服务 404 Not Found请求资源不存在举个例子输入了错误的URL 500 Internal Server Error服务器发生不可预期的错误 503 Server Unavailable服务器当前不能处理客户端的请求一段时间后可能恢复正常 505 HTTP报文http报文中有很多行内容这些行的字段内容都是由一些ASCII码串组成但各个字段的长度是不同的。http报文可分为两种一种是从web客户端发往web服务器的http报文称为请求报文。另外一种是从web服务器发往web客户端的报文称为响应报文 http请求报文 http请求报文由请求行、请求头部、空行和请求报文主体几个部分组成 MIMEMultipurpose Internet Mail Extension多用途因特网邮件扩展最初是为了解决在不同的电子邮件系统之间搬移报文时存在的问题。后来http也支持了这个功能用它来描述数据并标记不同的数据内容类型。 当web服务器响应http请求时会为每一个http对象数据加一个MIME类型。当web浏览器获取到服务器返回的对象时会去查看相关的MIME类型并进行相应的处理。 MIME类型存在于HTTP响应报文的响应头部信息里它是一种文本标记表示一种主要的对象类型和一个特定的子类型。常见的MIME类型
MIME类型文件类型text/htmlhtml、htm、shtml文本类型text/csscss文本类型text/xmlxml文本类型image/gifgif图像类型image/jpegjpeg、jpg图像类型application/javascriptjs文本类型text/plaintxt文本类型application/jsonjson文本类型video/mp4mp4视频类型video/quicktimemov视频类型video/x-flvflv视频类型video/x-ms-wmvwmv视频类型video/x-msvideoavi视频类型 1、HTTP协议请求的工作流程
1终端客户在web浏览器地址栏输入访问地址http://www.ceshi.com:80/index.html
2web浏览器请求DNS服务器把域名www.ceshi.com解析成web服务器的IP地址
3web浏览器将端口号默认是80从访问地址URL中解析出来
4web浏览器通过解析后的ip地址及端口号与web服务器之间建立一条TCP连接
5建立TCP连接后web浏览器向web服务器发送一条HTTP请求报文
6web服务器响应并读取浏览器的请求信息然后返回一条HTTP响应报文。
7web服务器关闭HTTP连接关闭TCP连接web浏览器显示访问的网站内容到屏幕上。
三、www服务器的类型(静态网站HTML 动态网站(jsp python,php,perl))
1、 仅提供用户浏览的单向静态网页
单纯是由服务器单向提供数据给客户端Server不需要与client端有互动所以你可以到该网站上去浏览但是无法进行数据的上传。
2、 提供用户互动接口的动态网站
这种类型的网站可以让服务器与用户互动常见的例如留言板博客。这种类型的网站需要通过“网页程序语言”来实现与用户互动的行为。常见的例如PHP网页程序语言配合数据库系统来进行数据的读、写。当你在向服务器请求数据时其实是通过服务器端同一个网页程序在负责将数据读出或写入数据库变动的是数据库的内容网页程序并没有任何改变。
另外一种交互式的动态网页主要是在客户端实现。服务端将可执行的程序代码JavaScript传送给客户端客户端的浏览器如果提供JavaScript的功能那么该程序就可以在客户端的计算机上面工作了另外一种可在客户端执行的就是flash动画格式在这种动画格式内还可以进行程序设计。
搭建动态网站的需求
1. 可支持的操作系统让所有需要的软件都能够进行安装。 2. 可运行的www服务器例如Apache。 3. 网页程序语言PerlPractical Extraction and Report Language实用报表提取语言、PHPHypertext Preprocessor超文本预处理器是一种通用开源脚本语言、JSPJava Server Pagesjava服务器页面、CGI(Common Gateway Interface公共网关接口)、ASPActive Server Pages动态服务器页面。
4. 数据存储的数据库系统 :MySQL、MSSQL、Oracle等。
LAMPlinuxApacheMySQLPHP
Apache主要提供www的服务器平台MySQL传统的文件读取是很麻烦的如果你只要读取该文件当中的一小部分系统还是会将整个文件读出来若又有人同时读取同一个文件时那就会造成效率与系统上的问题所以才会有数据库系统的推出。数据库其实是一种特殊格式的文件这种文件要通过特殊接口数据库软件来进行读写。由于这个特殊接口已经针对数据的查询、写入做过优化设计因此很适合多人同时写入与查询工作。PHPPHP可以被用来建立动态网页PHP程序代码可以直接在HTML网页当中嵌入就像编辑HTML网页一样简单。PHP是一种“程序语言”这种程序语言可以直接在网页当中编写不需要经过编译即可执行。
四、www服务器的基本配置
服务器端在linux上面实现网页服务器需要Apache这套服务器软件httpd提供Apache主程序 http://httpd.apache.org/docs/2.4/ 安装软件httpd 服务端192.168.17.171 客户端主机
第一步挂载
[rootlocalhost node1]# mount /dev/sr0 /mnt/ 第二步编辑配置文件
[rootlocalhost node1]# vim /etc/yum.repos.d/web.repo
[BaseOS]
nameBaseOS
baseurlfile:///mnt/BaseOS
gpgcheck0
[AppStream]
nameAppStream
baseurlfile:///mnt/AppStream
gpgcheck0 第三步安装软件包
[rootlocalhost node1]# dnf install httpd -y [rootlocalhost ~]# rpm -ql httpd [rootlocalhost httpd]# tree /etc/httpd
/etc/httpd
├── conf
│ ├── httpd.conf
│ └── magic
├── conf.d
│ ├── autoindex.conf
│ ├── README
│ ├── userdir.conf
│ └── welcome.conf
├── conf.modules.d
│ ├── 00-base.conf
│ ├── 00-dav.conf
│ ├── 00-lua.conf
│ ├── 00-mpm.conf
│ ├── 00-proxy.conf
│ ├── 00-systemd.conf
│ └── 01-cgi.conf
├── logs - ../../var/log/httpd
├── modules - ../../usr/lib64/httpd/modules
└──
run - /run/httpd 第四步启动httpd
[rootlocalhost node1]# systemctl start httpd.service注1、启动用start再次启动用restart2、.service后缀可加可不加
查看配置文件
[rootlocalhost node1]# rpm -ql httpd | grep etc 主配置文件内容: 主要的配置文件 /etc/httpd/conf/httpd.conf 。 额外的参数文件 /etc/httpd/conf.d/*.conf 。 如果你不想要修改原始配置文件httpd.conf的话那么你可以将你自己的额外参数文件独立出来例如你想要有自己的额外设置值 可以将它写入 /etc/httpd/conf.d/zhuji.conf 注意扩展名一定是.conf而启动Apache时这个文件就会被读入主要配置文件当 中了。默认的首页所在目录 /var/www/html/ 当输入网址时所显示的数据就是放在这个目录当中的首页文件默认为index.html。 默认给一些可执行的CGI网页程序程序放置的目录 /var/www/cgi-bin/ 当输入网址/cgi-bin/时所显示的数据所在。 默认的Apache日志文件都放在 /var/log/httpd/ 对于流量比较大的网站来说一个星期的日志文件的数据可以达到1GB左右
主配置文件内容:
[rootlocalhost ~]# vim /etc/httpd/conf/httpd.conf
31 ServerRoot /etc/httpd #http服务的顶级目录为/etc/httpd
42 Listen 80 #监听在80端口,80为web服务器的默认端口
56 Include conf.modules.d/*.conf #包括/etc/httpd/conf.modules.d/*.conf的所有文件 66
User apache #服务的用户ps -ef | grep httpd先以root用户把/usr/sbin/httpd服务启动起来。启动服务后转换的身份在启动服务时通常以root身份然后转换身份这样增加系统安全 67
Group apache
86 ServerAdmin rootlocalhost #你的邮箱有事的时候给你发邮件
95 #ServerName www.example.com:80 ServerName 0.0.0.0:80匹配任意IP地址监听端口在80端口
注默认是不需要指定的服务器通过名字解析过程来获得自己的名字但如果解析有问题如反向解析不正确或者没有DNS名字也可以在这里指定ip地址当这项不正确的时候服务器不能正常启动。解决办法就是启动该项把www.example.com80修改为自己的域名或者直接修改为localhost
102 Directory / #目录为根为起始标志/为结束标志
103 AllowOverride none #不允许这个目录下的访问控制文件来改变这里的配置这也意味着不用查看这个目录下的访问控制文件。
104 Require all denied #拒绝访问根
105 /Directory #和Directory /是一组标签目录控制容器
119 DocumentRoot /var/www/html #网页文件存放的目录
124 Directory /var/www
125 AllowOverride None
126 # Allow open access:
127 Require all granted
128 /Directory
131 Directory /var/www/html
144 Options Indexes FollowSymLinks #索引跟踪软链接
151 AllowOverride None
156 Require all granted
157 /Directory
163 IfModule dir_module #加载一个目录模块
164 DirectoryIndex index.html
165 /IfModule
171 Files .ht* #不能访问
172 Require all denied
173 /Files
182 ErrorLog logs/error_log
189 LogLevel warn
191 IfModule log_config_module
#日志配置模块 /var/log/httpd日志模块通过时间节点去记录man date
196 LogFormat %h %l %u %t \%r\ %s %b \%{ Referer}i\ \%{UserAgent}i\ combined
197 LogFormat %h %l %u %t \%r\ %s %b com mon
198
199 IfModule logio_module
201 LogFormat %h %l %u %t \%r\ %s %b \ %{Referer}i\ \%{UserAgent}i\ %I %O combi nedio
202 /IfModule
217 CustomLog logs/access_log combined
218 /IfModule
220 IfModule alias_module #别名模块
247 ScriptAlias /cgi-bin/ /var/www/cgi-bin/
248
249 /IfModule
cgi通用网关接口是web服务器运行时外部程序的规范按cgi编写的程序可以扩展服务器的功能。cgi应用程序能与浏览器进行交互还可通过数据库API与数据库服务器等外部数据源进行通信从数据库服务器中获取数据
255 Directory /var/www/cgi-bin
256 AllowOverride None
257 Options None
258 Require all granted
259 /Directory
261 IfModule mime_module #多用途互联网邮件扩展模块
266 TypesConfig /etc/mime.types
283 AddType application/x-compress .Z
284 AddType application/x-gzip .gz .tgz
305 AddType text/html .shtml
306 AddOutputFilter INCLUDES .shtml
307 /IfModule
mime多用途互联网邮件扩展类型是设定某种扩展名的文件用一种应用程序来打开的方式类型当该扩展名文件被访问时浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名以及一些媒体文件打开方式。
316 AddDefaultCharset UTF-8 默认字符集
318 IfModule mime_magic_module
324 MIMEMagicFile conf/magic
325 /IfModule
348 EnableSendfile on #全局生效
353 IncludeOptional conf.d/*.conf
注如果没有apache能否正常运行源码安装常见问题
删除apache
[rootlocalhost node1]# cd /var/www/html
[rootlocalhost html]# id apache
uid48(apache) gid48(apache) groups48(apache)
[rootlocalhost html]# userdel -r apache
userdel: user apache is currently used by process 43605
[rootlocalhost html]# systemctl stop httpd
[rootlocalhost html]# userdel -r apache
userdel: apache mail spool (/var/spool/mail/apache) not found
userdel: /usr/share/httpd not owned by apache, not removing
[rootlocalhost html]# id apache
id: ‘apache’: no such user
[rootlocalhost html]# systemctl restart httpd
Job for httpd.service failed because the control process exited with error code.
See systemctl status httpd.service and journalctl -xe for details.
此时无法正常访问网站 解决方法添加apache用户
[rootlocalhost node1]# cd /var/www/html
[rootlocalhost html]# useradd -r apache
[rootlocalhost html]# systemctl restart httpd
[rootlocalhost html]# id apache
uid975(apache) gid974(apache) groups974(apache)
第五步设置防火墙状态
[rootlocalhost ~]# systemctl status firewalld
[rootlocalhost ~]#systemctl stop firewalld#可不用
[rootlocalhost ~]#systemctl disable firewalld
注意 systemctl start/restart/enable/disable/stop/status/reload 的区别
重启服务:
[rootlocalhost ~]# systemctl restart httpd
查看状态
查看是否启动成功
[rootlocalhost node1]# systemctl is-active httpd
active
##测试状态代码
[rootlocalhost node1]# systemctl stop httpd.service
[rootlocalhost node1]# systemctl is-active httpd
inactive 或者可以用
[rootlocalhost node1]# systemctl status httpd [rootlocalhost ~]# systemctl status httpd | less
Aug 31 03:35:09 localhost.localdomain httpd[7374]: AH00558: httpd: Could not
reliably determine the servers fully qualified domain name, using
localhost.localdomain. Set the ServerName directive globally to suppress this
message
#httpd无法使用localhost.localdomain可靠地确定服务器的完全限定域名。 全局设
置“ServerName”指令以禁止显示此消息
**排错**
- 编辑httpd的主配置文件vim /etc/httpd/conf/httpd.conf
- 将ServerName 改成0.0.0.0:80
- 重启服务
- 看状态显示正常 测试 在客户端curl http://ip地址 curl -I 可以查看http报文信息 通过浏览器访问http://ip地址