快速玩转linux(4)
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是配置模块的文件。
监听80端口,模块下的任意conf文件
根目录是放在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
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
自己新建的日志格式要保存一致。
希望自己的虚拟主机的日志存放在自己自定义位置mtianyan.conf中 server下
access_log /var/log/nginx/
反向代理和负载均衡
请求网站是代理返回过来的。我们请求nginx, nginx向另一台服务器请求资料。
负载均衡。网站请求量比较大,两台机器一起服务。
演示:
- 将我们的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)的更多相关文章
- 快速玩转linux(1)
快速上手Linux玩转典型应用 mark 大牛都会使用Linux, Linux命令是行业要求. 商业服务器基本都是linux 开源软件都先支持Linux(只支持) 大数据分析.机器学习首选Linux ...
- 快速玩转linux(3)
Linux常用命令 软件操作命令 执行操作 命令 软件包管理器 yum 安装软件 yum install xxx 卸载软件 yum remove xxx 搜索软件 yum search xxx 清除缓 ...
- 快速玩转linux(2)
ssh是什么 SSH:secure shell 安全外壳协议 建立在应用层基础上的安全协议 可靠, 专为远程登录会话和其他网络服务提供安全性的协议. mark 客户端服务端都基本支持全平台 服务器 ...
- .Neter玩转Linux系列之一:初识Linux
一.为什么要学习Linux (1)首先我们欣赏一下,曾经的微软是如何看待Linux的,是不是很惊讶,微软还是很可爱的(#^.^#) 如今的微软看待Linux的态度:有人说微软技术那么厉害,难道微软就不 ...
- 【Flask】Flask快速玩框架
最近比较忙 快速玩Flask框架,为微博做些准备 part 1 python程序 from flask importFlask, render_template, session, redirect, ...
- 玩转Linux之- CentOS 7.0,启用iptables防火墙
原文 玩转Linux之- CentOS 7.0,启用iptables防火墙 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall:sy ...
- 快速玩转Apple Pay开发
快速玩转Apple Pay开发 更新时间:2016年02月20日09时25分 来源:传智播客 Apple Pay 2016年2月18日上午,苹果公司宣布,与中国银联达成合作,正式在中国大陆上线Appl ...
- [Linux] PHP程序员玩转Linux系列-lnmp环境的搭建
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 在平常的工作中,我作为PHP程序员经常要搭建一下环境,这个环境就是Linux系统下安装nginx,php,mysql这三个软件,对软件进行 ...
- [Linux] PHP程序员玩转Linux系列-搭建代码开发环境
1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 有些同学可能觉得我写的都是啥yum安装的,随便配置一下而已,没啥技术含量,我的目的 ...
随机推荐
- IO流之缓冲流
缓冲流 Java中提高了一套缓冲流,它的存在,可提高IO流的读写速度 缓冲流,根据流的分类字节缓冲流与字符缓冲流. 字节缓冲流 字节缓冲流根据流的方向,共有2个 l 写入数据到流中,字节缓冲输出流 ...
- 又到圣诞节,让你的网页下起雪(js特效)
又到圣诞节,让你的网页下起雪(js特效) 在4年多前,我写过一个特效,就是让你的网页下起雨,它的效果就是在你打开的网站,雨点下满你的屏幕,恩,大概效果如下图: 当然这个效果还有一些附带项,比如风速.风 ...
- 【Eclipse】在Eclipse上安装Spket
转自:https://www.cnblogs.com/HDK2016/p/7099383.html 1,Spket是什么? Spket是一种编辑javaScript和XML代码的工具,可以用他自己的 ...
- postman接口案例
接口测试 什么是接口(API) API全称Application Programming Interface,这里面我们其实不用去关注AP,只需要I上就可以.一个API就是一个Interface.我们 ...
- Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别? 线程的sleep()方法和yield()方法有什么区别?
Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别? sleep()方法(休眠)是线程类(Thread)的静态方法,调用此方法会让当前线程暂停执行指定的时间 ...
- C++ decltype类型说明符(尾置返回类型使用)
转自https://blog.csdn.net/yhl_leo/article/details/50865552 1 基本语法 decltype 类型说明符生成指定表达式的类型.在此过程中,编译器分析 ...
- HTTP 状态码 301 302
301 Moved Permanently被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一.如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为 ...
- L2范数惩罚项,高维线性回归
%matplotlib inline import mxnet from mxnet import nd,autograd from mxnet import gluon,init from mxne ...
- ACM-ICPC(9/26)
DP专题 多阶段决策:递推——逆推方式(难度较大),记忆化搜索方式,考虑当前决策层(cur) 01背包:变形众多,两种方式,一是考虑阶段的方式, ,另一种是刷表法 题目推荐: bzoj 4247 De ...
- CentOS如何部署TinyProxy
TinyProxy是个非常便利,及容易架设的HTTP代理 安装方法 rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release- ...