Linux 典型应用之WebServer 安装和配置
Apache的基本操作
安装
yum install httpd
启动
service httpd start
在浏览器中输入以下Ip 发现无法访问
http://192.168.1.109/

输入以下命令进行网络统计
netstat -anpl | grep 'http'

发现此时80端口和httpd都已经启动了,这时候只需要把防火墙关闭即可
service firewalld stop
再次刷新页面,启动成功

停止
service httpd stop
Apache的虚拟主机配置及伪静态操作
虚拟主机一般在配置多个域名的时候才会使用,比如一个服务器上部署多个网站,保证每个域名访问的内容和源代码是不一样的。
进入httpd目录
cd /etc/httpd/ ls

打开conf/httpd.conf
cd conf vi httpd.conf
- DocumentRoot "/var/www/html" 表示文件根目录的路径(代码目录都是放在这里的),配置虚拟主机的时候我们可以自己指定代码目录
- port 80 指的是监听的端口是80
配置虚拟主机
<VirtualHost *:80>
ServerName www.zhangbiao.com
DocumentRoot /data/www
</VirtualHost>

创建/data/www 文件 ,因为把跟文件的目录指定到了/data/www
sudo mkdir -p /data/www
在data/www 目录下创建index.html 文件
cd /data/www vi index.html
输入以下内容
<h1> hello world </h1>
重启httpd服务
service httpd restart
配置 hosts linux hosts 路径 /etc/hosts windos hosts路径 C:\Windows\System32\drivers\etc
192.168.1.109 www.zhangbiao.com
在浏览器输入
www.zhangbiao.com

发现页面显示的并不是我们输入的 hello world
查看log 日志
cd /etc/httpd/logs/
ls -al

查看访问日志
tail -f access_log

查看错误日志
tail -f error_log
在浏览器访问
www.zhangbiao.com
错误日志中出现以下提示信息

vi /etc/httpd/conf/httpd.conf
在上面配置虚拟主机的代码段添加以下信息
<VirtualHost *:80>
ServerName www.zhangbiao.com
DocumentRoot /data/www
<Directory "/data/www">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
再次刷新页面

需要注意的是如果不能访问请进行以下检查
DocumentRoot 和 Directory 中的字符串必须相等
data , www 必须是可执行的权限 755
selinux的问题 ,你可以把你的目录进行一下selinux权限设置
sudo setenforce 0
这条命令只是临时的,如果想要永久有效可以修改其配置文件
vi /etc/selinux/config
把 SELINUX=disabled

配置多个虚拟主机
只需要照着上面配置一个虚拟主机进行以下配置即可,在/etc/httpd/conf/httpd.cof
<VirtualHost *:80>
ServerName www.zhangbiao.com
DocumentRoot /data/www
<Directory "/data/www">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost> <VirtualHost *:80>
ServerName www.zhangbiao1.com
DocumentRoot /data/www1
<Directory "/data/www1">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
在创建 /data/www1目录再起www1下创建index.html即可
Apach伪静态
伪静态是基于 rewrite 实现的
在 /etc/httpd/conf/httpd.cof 添加以下配置
LoadModule rewrite_module modules/rewrite.so

<VirtualHost *:80>
ServerName www.zhangbiao.com
DocumentRoot /data/www
<Directory "/data/www">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*).htmp$ index.html
</IfModule>
</Directory>
</VirtualHost>

重启服务
service httpd restart
访问已 htmp结尾的都会转到index.html文件
http://www.zhangbiao.com/1.htmp

Nginx的基本操作
安装
yum install nginx
需要安装 Nginx 源
sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
安装该rpm后,我们就能在/etc/yum.repos.d/ 目录中看到一个名为nginx.repo 的文件
再次安装
yum install nginx
启动
service nginx start
访问
http://192.168.1.109/

停止
service nginx stop
重载,一般都有reload无负载的迁移,因为要用restart重新启动的时候,需要关闭程序在程序启动,需要一定的时间
service nginx reload
nginx 的配置文件存放在 /etc/nginx 下面

nginx 配置虚拟主机
打开 配置文件 nginx,conf
vi /etc/nginx/nginx.conf
可以看到会默认加载/etc/nginx/conf.d/ 下面已conf结尾的文件

进入 /etc/nginx/conf.d/ 下面
cd /etc/nginx/conf.d/ ls

查看 default.conf 文件
cat default.conf

查看 /usr/share/nginx/html 下的文件
ll /usr/share/nginx/html

把default.conf 复制一份到zhang.conf
cp default.conf zhang.conf
内容如下
server {
listen 80;
server_name www.zhangbiao.com;
root /data/www;
index index.html index.htm;
}
访问
http://www.zhangbiao.com/

nginx配置多个端口和域名访问
在zhangbiao.conf 中配置多监听一个端口和servername如下
server {
listen 80;
listen 9999;
server_name www.zhangbiao.com www.zhangtao.com;
root /data/www;
index index.html index.htm;
}
配置hosts
重启nginx
service nginx restart
访问新增的端口
http://www.zhangbiao.com:9999

访问新填的域名
http://www.zhangtao.com/

Nginx 伪静态的实现
修改zhang.conf 增加location配置
server {
listen 80;
listen 9999;
server_name www.zhangbiao.com www.zhangtao.com;
root /data/www;
index index.html index.htm;
location / {
rewrite ^(.*)\.htmp$ /index.html;
}
}
重启Nginx
service nginx restart
访问
http://www.zhangtao.com/1.htmp

Nginx 日志格式化
打开 /etc/nginx/nginx.conf
vi /etc/nginx/nginx.conf

添加自定义的log_format 和修改access_log 关键字
log_format zhang '$remote_addr - "$http_user_agent"';
access_log /var/log/nginx/access.log zhang;

重写加载nginx
service nginx reload
打开日志文件存储的路径
tail -f /var/log/nginx/access.log

访问
http://www.zhangbiao.com/
可以看到日志信息如下

我们可以把不同的虚拟主机存储各自的 log 文件 ,在 /etc/nginx/conf.d/zhang.conf ,添加以下日志配置
access_log /var/log/nginx/access_zhang.log zhang;

重启 Nginx 服务
service nginx reload
访问
http://www.zhangbiao.com/
这时在 /var/log/nginx 下多了 access_zhang.log 文件

更多的nginx log_formt 配置可以百度检索
nginx log_formt
Nginx 反向代理 和 负载均衡
反向代理
访问 www.zhangbiao.com 进行反向代理的我的博客页面
进入 /etc/nginx/conf.d 目录
编辑 zhang.conf
upstream imooc_hosts{
server 118.89.106.129:80;
}
server {
listen 80;
listen 9999;
server_name www.zhangbiao.com www.zhangtao.com;
root /data/www;
index index.html index.htm;
access_log /var/log/nginx/access_zhang.log zhang;
location / {
#rewrite ^(.*)\.htmp$ /index.html;
proxy_set_header Host www.54php.cn;
proxy_pass http://118.89.106.129;
}
}
重启
service nginx reload
访问
http://www.zhangbiao.com/

负载均衡
主要作用是减少网站的压力,进行分流
访问同一个url 第一次是server1 返回的结果,第二次是server2返回的结果
进入 /etc/nginx/conf.d 目录
编辑 zhang.conf 加入以下配置
upstream zhang_hosts{
server 118.89.106.129:80;
server 192.168.1.109;
}
server {
listen 80;
listen 9999;
server_name www.zhangbiao.com www.zhangtao.com;
root /data/www;
index index.html index.htm;
access_log /var/log/nginx/access_zhang.log zhang;
location / {
#rewrite ^(.*)\.htmp$ /index.html;
proxy_set_header Host www.54php.cn;
proxy_pass http://zhang_hosts;
}
}
扩展 配置weight 权重,访问5次server1 才切换到server2
upstream zhang_hosts{
server 118.89.106.129:80 weight=5;
server 192.168.1.109 weight=1;
}
重启
service nginx reload
访问
www.zhangbiao.com

再次刷新

Nginx 调试
有时我们对Nginx 配置出错的时候,我们可以逐行的进行调试找到错误出现的位置
Nginx 可以通过 return 关键字 返回请求的域名这个可以自己设置 ,返回成功即以上的代码没问题
在 /etc/nginx/conf.d/zhang.conf
添加以下代码
add_header Content-Type "text/plain;charset=utf-8";
return 200 "$http_host";

访问
http://www.zhangbiao.com/
返回

访问
http://www.zhangtao.com/

反向代理转向不同的机器,nginx 报 502 的错误
可以尝试输入以下命令
setsebool -P httpd_can_network_connect 1
Linux 典型应用之WebServer 安装和配置的更多相关文章
- Linux(Ubuntu)下MySQL的安装与配置
转自:http://www.2cto.com/database/201401/273423.html 在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今 ...
- Linux/CentOS环境下如何安装和配置PhantomJS工作环境
PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, C ...
- Linux下Weblogic 11g R1安装和配置
自己留着好好看看! 文章摘自 :http://blog.163.com/ng_0125@126/blog/static/170162360201311773235995/ 1. 安装前 1 确定w ...
- Linux搭建JDK、Tomcat安装及配置
一.JDK安装及配置 1.JKD下载地址:http://pan.baidu.com/s/1i5NpImx 2.查看安装: rpm -qa | grep jdk 3.卸载:rpm -e --nodeps ...
- linux -- Ubuntuserver图形界面下安装、配置lampp、phpmyadmin
PHP开发和服务器运行环境首选LAMP组合,即Linux+Apache+Mysql+Php/Perl/Python,能最优化服务器性能.如何在本地电脑Ubuntu 中安装和配置LAMP环境搭建?Ubu ...
- Linux 下 JDK + Eclipse + PyDev 安装与配置
一:JDK / JRE 环境 Eclipse 是运行于Java虚拟机中的,所以必须先安装Java环境才能进行开发测试.JRE(Java Runtime Environment)是运行环境,JDK(Ja ...
- Linux CentOS 7下Memcached 安装与配置
前言 本篇文章记录一下Linux CentOS 7中关于Memcached的安装与配置. 安装 安装memcached之前首先需要安装libevent,我这里用的版本是: •libevent-2.0. ...
- linux应用之bugfree的安装及配置
Bugfree3.0.4 Linux环境安装指南 bugfree系统安装的前提是,配置LAMP环境(apache+mysql+php),下面以centos6.3系统为例介绍bugfree3.0.4的安 ...
- linux应用之nginx的安装及配置(centos)
Ubuntu/CentOS 系统上安装与配置Nginx 一.在线安装: Ubuntu:sudo apt-get install nginx CentOS: sudo yum install nginx ...
随机推荐
- 适合使用并行的一种bfs
这种写法的bfs和前面的最大区别在于它对队列的处理,之前的简单bfs是每次从队列中取出当前的访问节点后,之后就将它的邻接节点加入到队列中,这样明显不利于并行化, 为此,这里使用了两个队列,第一个队列上 ...
- JQuery Plugin 开发
学习 JQuery 插件开发之后, 可以将自己平时常用的功能封装成插件, 便于在不同的项目之间使用. JQuery 官网上的 插件开发教程就很不错, 简单易懂. 参考网址: http://learn. ...
- Linux 小知识翻译 - 「DNS服务器」
这次聊聊「DNS服务器」. DNS(Domain Name System)服务器,也被称为域名服务器. 因为使用互联网的时候,必须要指定DNS服务器,所以你一定听过DNS这个名字吧. 那么,这个DNS ...
- python3编写网络爬虫23-分布式爬虫
一.分布式爬虫 前面我们了解Scrapy爬虫框架的基本用法 这些框架都是在同一台主机运行的 爬取效率有限 如果多台主机协同爬取 爬取效率必然成倍增长这就是分布式爬虫的优势 1. 分布式爬虫基本原理 1 ...
- python nt, bool, str 试题
# 1.有变量量name = "aleX leNb" 完成如下操作:name = "aleX leNb"# 1)移除 name 变量对应的值两边的空格,并输出处 ...
- kafka删除topic详解
1.删除topic命令 bin/kafka-topics.sh --delete --zookeeper 192.168.242.131:2181 --topic aaa 注:此命令如果要生效,还需在 ...
- @RequestParam 和@RequestBody 的区别?
@RequestParam用来接收: 1 用来处理简单的参数绑定 2 用来接收 Content-Type 是 application/x-www-form-urlencoded (这种格 式的数据 ...
- 字符编码ASCII,Unicode 和 UTF-8
一直对编码的概念很模糊,今天抽空突然想了解下,就找到了这个文章,看完真的豁然开朗,必须感谢阮一峰先生. 一.ASCII 码 我们知道,计算机内部,所有信息最终都是一个二进制值.每一个二进制位(bit) ...
- google colab 使用指南
重启colab !kill - - 输出ram信息 !cat /proc/meminfo 输出cpu信息 !cat /proc/cpuinfo 更改工作文件夹 一般,当你运行下面的命令: !ls 你会 ...
- 第1章 从开机加电到main函数之前的过程
主要讲解了80x86cpu在启动的时候时bios如何工作,以及如何最终转换到保护模式. 1.1 启动bios 80x86作为冯诺依曼结构下的cpu,工作模式也是取指执行,即cpu根据cs:ip寄存器的 ...