websever安装配置

Nginx & Apache

并发量。

Apache基本操作

解释 命令
安装 yum install httpd
启动 service httpd start
停止 service httpd stop

centos中它叫httpd。ubuntu中就叫Apache

虚拟主机 伪静态

sudo install httpd
sudo service httpd start
ps -ef|grep httpd
sudo service httpd restart

此时进入浏览器访问无法访问到我们的Apache。

sudo netstat -anpl | grep http

可以看到端口运行也是正常的。

防火墙机制。关闭防火墙

sudo service firewalld stop

此时通过http://192.168.0.7/可以访问到我们的Apache页面

虚拟主机

我们一个网站服务器希望有很多不同的域名

cd /etc/httpd/
ls
cd conf
vim httpd.conf

config.d 是配置文件 。config.modules.d是配置模块的文件。

mark

监听80端口,模块下的任意conf文件

mark

根目录是放在var/www/html

搜索virtual 。esc之后输入"/virtual"回车

<VirtualHost *:80>
ServerName www.mtianyan.test
DocumentRoot /data/www
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
</Directory>
</VirtualHost>

配置我们的域名和根目录

 sudo service httpd restart

重启httpd服务。

mkdir -p data/www

添加-p参数新建级联目录。

data目录所属用户是在root账号。如果对于目录的操作权限不够可以使用

sudo chown -R mtianyan:mtianyan /data

chown 改变文件或目录所有者。-R是递归的方式。

此时无法访问。我们的域名是虚构的,所以需要使用host

sudo vim /etc/hosts

C:\Windows\System32\drivers\etc

此时访问仍然是Apache的页面。

cd /etc/httpd/
cd logs/

权限禁止。

sudo su -
  • 是一个环境变量切换到root用户

报错:

[Sat Jan 27 15:41:15.482043 2018] [authz_core:error] [pid 4847] [client 192.168.0.12:11981] AH01630: client denied by server configuration: /data, referer: http://www.mtianyan.test/
sudo setenforce 0

系统关于安全的一个设置。0宽松模式

sudo vim /etc/selinux/config

修改为disabled宽松模式。

伪静态: .html看起来像是静态的。

/loadMoudle

mod_rewrite

mark

Nginx基本操作

解释 命令
安装 yum install nginx
启动 service nginx start
停止 service nginx stop
重载 service nginx reload

虚拟主机

yum install nginx
yum search nginx
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
sudo yum install -y nginx

reload是一种无缝的重载。

 cd /etc/nginx
sudo vim nginx.conf
cd conf.d
sudo vim default.conf
sudo cp default.conf mtianyan.conf

新建一个我们自己的配置文件.mtianyan.conf

内容如下;

server {
listen 80;
server_name www.mtianyan.test; #charset koi8-r;
#access_log /var/log/nginx/host.access.log main; location / {
root /data/www;
index index.html index.htm;
}
}

不能同时启动nginx和Apache。可以看到

Redirecting to /bin/systemctl start nginx.service
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
sudo systemctl status nginx.service

执行提示我们执行的命令之后我们可以看到提示80端口已经被占用。

一个端口只能被一个服务器所使用。

多域名多端口

多端口

    listen       80;
listen 9999;

多域名

server_name  www.mtianyan.test www.mtianyan2.test;

伪静态

location/ {
rewrite ^(.*)\.htmp$ /index.html;
}

任意的以.htmp结尾的都去index.html

\代表转义。

日志格式化

nginx.conf文件进行日志格式化

log_format

mark

mark

自己新建的日志格式要保存一致。

希望自己的虚拟主机的日志存放在自己自定义位置mtianyan.conf中 server下

access_log /var/log/nginx/

反向代理和负载均衡

请求网站是代理返回过来的。我们请求nginx, nginx向另一台服务器请求资料。

负载均衡。网站请求量比较大,两台机器一起服务。

演示:

  1. 将我们的rewrite注释掉
upstream mtianyan_hosts{
server 192.168.0.7:80 weight=5;
server 192.168.0.8:80 weight=1;
} server{ location /{
proxy_set_header Host blog.mtianyan.cn
proxy_pass http://mtianyan_hosts;
}
}

轮流进行发送请求。以5比1的比例。负载均衡解决网站压力分流。

调试技巧

看配置是否出错。

add_header Content-Type "text/plain;charset=utf-8";
return 200 "$http_host";

回顾

httpd

service 启动 关闭 停止

虚拟主机 伪静态 rewrite

virtual

nginx reload

多域名多端口,伪静态。诶之格式化nginx.conf log_format

反向代理 & 负载均衡。

快速玩转linux(4)的更多相关文章

  1. 快速玩转linux(1)

    快速上手Linux玩转典型应用 mark 大牛都会使用Linux, Linux命令是行业要求. 商业服务器基本都是linux 开源软件都先支持Linux(只支持) 大数据分析.机器学习首选Linux ...

  2. 快速玩转linux(3)

    Linux常用命令 软件操作命令 执行操作 命令 软件包管理器 yum 安装软件 yum install xxx 卸载软件 yum remove xxx 搜索软件 yum search xxx 清除缓 ...

  3. 快速玩转linux(2)

    ssh是什么   SSH:secure shell 安全外壳协议 建立在应用层基础上的安全协议 可靠, 专为远程登录会话和其他网络服务提供安全性的协议. mark 客户端服务端都基本支持全平台 服务器 ...

  4. .Neter玩转Linux系列之一:初识Linux

    一.为什么要学习Linux (1)首先我们欣赏一下,曾经的微软是如何看待Linux的,是不是很惊讶,微软还是很可爱的(#^.^#) 如今的微软看待Linux的态度:有人说微软技术那么厉害,难道微软就不 ...

  5. 【Flask】Flask快速玩框架

    最近比较忙 快速玩Flask框架,为微博做些准备 part 1 python程序 from flask importFlask, render_template, session, redirect, ...

  6. 玩转Linux之- CentOS 7.0,启用iptables防火墙

    原文 玩转Linux之- CentOS 7.0,启用iptables防火墙 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall:sy ...

  7. 快速玩转Apple Pay开发

    快速玩转Apple Pay开发 更新时间:2016年02月20日09时25分 来源:传智播客 Apple Pay 2016年2月18日上午,苹果公司宣布,与中国银联达成合作,正式在中国大陆上线Appl ...

  8. [Linux] PHP程序员玩转Linux系列-lnmp环境的搭建

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 在平常的工作中,我作为PHP程序员经常要搭建一下环境,这个环境就是Linux系统下安装nginx,php,mysql这三个软件,对软件进行 ...

  9. [Linux] PHP程序员玩转Linux系列-搭建代码开发环境

    1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 有些同学可能觉得我写的都是啥yum安装的,随便配置一下而已,没啥技术含量,我的目的 ...

随机推荐

  1. Android开发ListView嵌套ImageView实现单选按钮

    做Android开发两年的时间,技术稍稍有一些提升,刚好把自己实现的功能写出来,记录一下,如果能帮助到同行的其他人,我也算是做了件好事,哈哈!!废话不多说,先上个图. 先上一段代码: if (last ...

  2. BZOJ2535: [Noi2010]Plane 航空管制2(拓扑排序 贪心)

    题意 题目链接 Sol 非常妙的一道题. 首先不难想到拓扑排序,但是直接对原图按\(k\)从小到大拓扑排序是错的.因为当前的\(k\)大并不意味着后面的点\(k\)也大 但是在反图上按\(k\)从大到 ...

  3. CSS文字有关属性

    font-size|family|weight|style 大小字体加粗斜体 color|opacity 颜色透明度 height+line-height:垂直居中 overflow:hidden|v ...

  4. css控制文本单行或者多行溢出显示为省略号...

    p:first-child { background-color: pink; width: 150px; line-height: 28px; font-size: 20px; overflow: ...

  5. FragmentActivity的简单使用

    如图是效果图 当  点击下面 不同 的按钮 进入 不同的界面 其中 要一个 主布局当做容器 , 和3个不同的 布局来对应下面的3个按钮界面 主程序的 代码和布局如下 import android.su ...

  6. Linux c获取时间

    linux c获得时间和设置时间 #include<time.h> //C语言的头文件 #include<stdio.h> //C语言的I/O void main() { ti ...

  7. EL表达式的内置对象

    在EL表达式中,无需创建就可以使用的对象称之为EL隐藏(隐含.内置)对象.在EL中一共有11个隐藏对象,它们都与Map相似.其中10是Map,一个是 PageContext. 参数隐藏对象 这些隐藏对 ...

  8. Enumeration 接口的使用

          Enumeration是一个接口,定义了两个规则,可以获取连续的数据,对数据结构非常重要.       接口源码: publicinterfaceEnumeration<E>{ ...

  9. 【Leetcode】【Easy】Symmetric Tree

    Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For e ...

  10. Servlet和SpringMVC补课

    1.web.xml加载顺序 http://mianhuaman.iteye.com/blog/1105522 关键点:ServletContext -> context-param -> ...