1.面试必备:nginx知识梳理(收藏版)
2.freebsd9.1源码安装apache.mysql.php环境
面试必备:nginx知识梳理(收藏版)
Nginx概念
Nginx是源码一个高性能的HTTP和反向代理服务。其特点是源码占有内存少,并发能力强,源码事实上Nginx的源码并发能力在同类型的网页服务器中表现较好。
Nginx专为性能优化而开发,源码性能是源码有道翻译的源码其最重要的考量指标,实现上非常注重效率,源码能经受住高负载的源码考验,有报告表明能支持高达个并发连接数。源码
在连接高并发的源码情况下,Nginx是源码Apache服务不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。
反向代理在说反向代理之前,源码手机端淘宝前端源码先来说说什么是源码代理和正向代理。
代理代理其实就是源码一个中介,A和B本来可以直连,源码中间插入一个C,C就是中介。刚开始的时候,代理多数是帮助内网client(局域网)访问外网server用的。后来出现了反向代理,反向这个词在这儿的意思其实是指方向相反,即代理将来自外网客户端的请求转发到内网服务器,从外到内。怎么知道源码的语言
正向代理正向代理即是客户端代理,代理客户端,服务端不知道实际发起请求的客户端。
正向代理类似一个跳板机,代理访问外部资源。
比如我们国内访问谷歌,直接访问访问不到,我们可以通过一个正向代理服务器,请求发到代理服服务上,代理服务器能够访问谷歌,这样由代理去访问谷歌取到返回数据,广州小号源码定制再返回给我们,这样我们就能访问谷歌了。
反向代理反向代理即是服务端代理,代理服务端,客户端不知道实际提供服务的服务端。
客户端是感知不到代理服务器的存在。
是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
负载均衡关于负载均衡,老太太网站源码先来举个例子:
地铁大家应该都坐过吧,我们一般在早高峰乘地铁时候,总有那么一个地铁口人最拥挤,这时候,一般会有个地铁工作人员A拿个大喇叭在喊“着急的人员请走B口,B口人少车空”。而这个地铁工作人员A就是负责负载均衡的。
为了提升网站的各方面能力,我们一般会把多台机器组成一个集群对外提供服务。然而,我们的网站对外提供的访问入口都是一个的,比如www.taobao.com。那么当用户在浏览器输入www.taobao.com的时候如何将用户的请求分发到集群中不同的机器上呢,这就是负载均衡在做的事情。
负载均衡(LoadBalance),意思是将负载(工作任务,访问请求)进行平衡、分摊到多个操作单元(服务器,组件)上进行执行。是解决高性能,单点故障(高可用),扩展性(水平伸缩)的终极解决方案。
Nginx提供的负载均衡主要有三种方式:轮询,加权轮询,Iphash。
轮询nginx默认就是轮询其权重都默认为1,服务器处理请求的顺序:ABCABCABCABC....
upstreammysvr{ server..8.1:;server..8.2:;server..8.3:;}加权轮询根据配置的权重的大小而分发给不同服务器不同数量的请求。如果不设置,则默认为1。下面服务器的请求顺序为:ABBCCCABBCCC....
upstreammysvr{ server..8.1:weight=1;server..8.2:weight=2;server..8.3:weight=3;}ip_hashiphash对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。
upstreammysvr{ server..8.1:;server..8.2:;server..8.3:;ip_hash;}动静分离动态与静态页面区别静态资源:当用户多次访问这个资源,资源的源代码永远不会改变的资源(如:HTML,JavaScript,CSS,img等文件)。
动态资源:当用户多次访问这个资源,资源的源代码可能会发送改变(如:.jsp、servlet等)。
什么是动静分离动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。
动静分离简单的概括是:动态文件与静态文件的分离。
为什么要用动静分离为了加快网站的解析速度,可以把动态资源和静态资源用不同的服务器来解析,加快解析速度。降低单个服务器的压力。
Nginx安装windows下安装1、下载nginx
f的配置文件
chown –R root . 修改mysql文件夹内所有文件用户为root
chown –R mysql data修改mysql文件夹内data文件夹用户为mysql
./bin/mysqld_safe –user=mysql 启动mysql服务
./bin/mysql –u root –p 密码为空
use mysql
Delete from user where host’.0.0.1’;
select host,user,password from user;
update user set host=’%’,password=password(‘shadow’); //修改登录ip为任意;密码为shadow
flush privileges; //刷新mysql帐号权限
然后远程连一下数据库试试吧。。
初始化root密码
bin/mysqladmin -u root password 'newpassword'
bin/mysqladmin –u root password
./mysqladmin -u root -p password ''
然后系统会询问你现在的密码,你输入现在的密码回车就可以了
下次使用MYSQL的时候,ROOT 的口令就是了
测试帐号
bin/mysql –u root –p
然后输入密码,出现提示符:
mysql
技巧提示:
mysql #运行mysql 客户端,并开放root用户的远程访问权限。以便调试
use mysql
update user set host = '%' where user = 'root' and host 'localhost';
flush privileges;
quit
2、apache安装
Step 1
编译Apache的要求
1. 磁盘空间 2.ANSI- C编译器及编译环境 3.确保准确的时间 4.Perl5 [可选]
5. apr/apr-util = 1.2
需要先下载 apr-1.4.6.tar.gz 和 apr-util-1.5.1.tar.gz
配置并安装 地址 plete."字样,那么就可以进行安装了:
(make编译时fpm模块出错:解决办法php5.4./sapi/fpm/fpm/fpm_sockets.c文件修改三处代码 info.tcpi_sacked 改为: info.__tcpi_sacked
info.tcpi_unacked 改为: info.__tcpi_unacked)
make install
完成即可 可以平滑重启
3、拷贝php配置文件
cp php.ini-development(开发模式) 或者production生产模式 /usr/local/servers/php/etc/php.ini
修改php.ini
disable_functions =system,exec,shell_exec,passthru,ini_alter,dl,pfsockopen,openlog,syslog,readlink,symlink,link,
leak,popen,escapeshellcmd,apache_child_terminate,apache_get_modules,apache_get_version,
apache_getenv,apache_note,apache_setenv,virtual;,phpinfo
4、修改配置
修改/usr/local/servers/php/etc/php.ini文件(新版本可能不需要)
register_globals = On
修改/usr/local/apache/conf/ /www
输入后,会提示输入用户的密码,密码不能太长,不能有特殊字符。
注意,以上路径需根据各服务具体路径而定
www1:*:::User :/home/www1:/usr/sbin/nologin
www2:*:::User :/home/www2:/usr/sbin/nologin
www3:*:::User :/home/www3:/usr/sbin/nologin
www4:*:::User :/home/www4:/usr/sbin/nologin
www5:*:::User :/home/www5:/usr/sbin/nologin
www6:*:::User :/home/www6:/usr/sbin/nologin
www7:*:::User :/home/www7:/usr/sbin/nologin
www8:*:::User :/home/www8:/usr/sbin/nologin
www9:*:::User :/home/www9:/usr/sbin/nologin