如何搭建测试环境linux nginx环境搭建 hosts

&&国之画&&&& &&
版权所有 京ICP备号-2
迷上了代码!ubuntu(17)
背景:在昨天安装的ubuntu虚拟机上配置lnmp环境,因为最近总是遇见文件操作权限不够报异常的问题,在windows下又体现不出来,所以想折腾个lnmp环境,将代码转到linux系环境,进行调整。
第一部分lnmp搭建(以下为转载的内容,已验证是可以的)
转载地址:/blog/cdb80f--aab7-346cc7d39266.html
备注:我选取了一些我自己需要的东西安装,就像目前我不需要安装memcache所以没有进行memcache的部分,这个可以随自己的需要。
一、安装nginx
1:ubuntu因为安全策略,一般是禁用了root用户,所以每次执行命令时一般需要加上sudo去操作。为了方面后面其他步骤操作,可首先切换到root用户,这样后面不需要每次都加sudo了。
sudo su – & (切换用户)
2:默认ubuntu默认是官方的源,国内用户访问可能会比较慢,所以将官方的源修改为163的源,修改方法此处不做介绍,可查ubuntu官方的wiki帮助手册。
访问地址:http://wiki./Qref/Source
3:源修改完毕后记得要刷新列表:
apt-get update
下面就开始安装nginx了
安装nginx的方式有多种,可以通过官方下载nginx源码包编译安装,也可以通过ubuntu软件包的形式安装,个人觉得都可以。大致考虑如下几点因素:
1)如果本身系统就是通过源码编译安装的,那么系统的性能将是比较高的,那么这种情况,通过源码来安装软件,性能是比较好的。而如果系统采用的是ubuntu等发行版安装的,那么软件通过源码编译并不能带来非常明显的性能提升。当然如果你想锻炼一下,或者自我满足一下,也可以试试通过源码安装。
2)如果本身搭建环境的目地是为了测试、学习或小型的网站搭建,那么也不建议通过源码的方式来安装,源码安装的方式出现的问题会比较多,同时也增加了小型站长日后维护的难度。
3)本身ubuntu系统支持的在线包管理机制,技术肯定已经非常成熟了,没有必要过分担心其稳定性与安全性。
4)当然通过源码编译的方式带来的好处是,定制性比较高。所以看个人需求了。
好了,废话不多说啦,开始进入正题。
4:安装nginx
执行命令:apt-get install nginx
5.安装完毕后,启动nginx,对于Nginx 0.8.x后的版本采用新的启动、停止、平滑启动方式
开启服务:
/etc/init.d/nginx start
也有另外一种开启服务的方式
/usr/sbin/nginx -c /etc/nginx/nginx.conf
前面是nginx的安装路径,-c代表的是指定nginx配置文件的路径
/etc/init.d/nginx -s stop
/etc/init.d/nginx -s&reload
启动完毕后,打开浏览器,访问http://localhost &查看nginx是否正常安装并启动。vps等如果有防火墙限制,则可能不能通过ip的方式直接访问,而需要通过配置域名来访问。nginx配置虚拟主机的方式,后面在说。
二、安装MySQL
ubuntu 安装mysql相对比较简单
1.安装mysql的服务端
apt-get install mysql-server
在安装的过程中需要你输入root用户的密码。
2.安装mysql的客户端
apt-get install mysql-client
3.安装完毕后,一般需要重新设置下字符集
1) 查看当前的编码:show variables like 'character%';
2) 修改my.cnf,在[client]下添加default-character-set=utf8
命令:vi /etc/f
3) 在[server]下添加default-character-set=utf8,init_connect='SET NAMES utf8;'
4) 重启mysql
/etc/init.d/mysql restart
三、安装php5-fpm
apt-get install php5-cgi&
apt-get install&php5-fpm&
apt-get install&php5-curl &(客户端 URL 库函数库)
apt-get install&php5-gd (GD库图像函数库)
apt-get install&php5-mysql & (增加对mysql支持)
apt-get install&php5-mcrypt &(Mcrypt 加密函数库)
apt-get install&php5-memcache &(Memcache客户端)
apt-get install&php5-memcached & (Memcache服务端)
apt-get install&php5-dev & &(开发支持模块)
1:模块说明:
什么是CGI ?
CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。
什么是FastCGI ?
FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。
什么是PHP-CGI ?
PHP-CGI是PHP自带的FastCGI管理器。
什么是PHP-FPM ?
PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的。
PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。
PHP5.3.3已经集成php-fpm了,不再是第三方的包了。PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,所以被PHP官方收录了。在./configure的时候带 –enable-fpm参数即可开启PHP-FPM。
使用PHP-FPM来控制PHP-CGI的FastCGI进程
2:安装完毕后,对fastcgi 配置需要做些修改
vi&/etc/nginx/fastcgi_params
注释下面这行
#fastcgi_param &SCRIPT_FILENAME & & & & $request_
fastcgi_param &SCRIPT_FILENAME & &$document_root$fastcgi_script_
3:php5-fpm 配置优化
vi /etc/php5/fpm/pool.d/www.conf
下面4个参数的意思分别为:
pm.max_children:静态方式下开启的php-fpm进程数量。
pm.start_servers:动态方式下的起始php-fpm进程数量。
pm.min_spare_servers:动态方式下的最小php-fpm进程数量。
pm.max_spare_servers:动态方式下的最大php-fpm进程数量。
注:以内存512M的VPS来说,建议设置的参数如下,仅供参考:
pm=dynamic
pm.max_children=20
pm.start_servers=5
pm.min_spare_servers=5
pm.max_spare_servers=20
四、安装apc加速器
APC 可显著加速 PHP 应用的速度。在应用中加入 APC 可提升应用的响应速度,降低服务器负载。
apt-get install php-apc
五、重启php-fpm、nginx
sudo /etc/init.d/php5-fpm restart
sudo /etc/init.d/nginx restart
第二部分安装mysql客户端控制navicat
navicat官方下载地址:/download/navicat-for-mysql
找到linux版本的下载解压(便于以后的访问可以将解压后的文件cp到自己习惯的位置),然后访问解压地址下的&start_navicat 文件就可以开始安装了,然后重启就行了。往后的时候可以直接访问这个文件,开启navicat服务。之后就可以进行mysql服务器的连接和操作了。
第三部分配置nginx进行测试
首先如果想修改默认的访问地址,需要编辑文件
sudo vi /etc/nginx/sites-available/default
在原本的server节点里的监听端口改为8080或者其他用不到的,并在上面添加以下内容(修改原有的端口而不是删除原有的配置或者注释掉主要是为了方便)server {
root /usr/share/nginx/
index index.php index.html index.
location / {
try_files $uri $uri/ /index.
error_page 404 /404.
error_page 500 502 503 504 /50x.
location = /50x.html {
root /usr/share/nginx/
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.
fastcgi_index index.
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_
include fastcgi_
}备注:这样的配置就表示默认访问/usr/share/nginx/www 目录下的index 相关页面,所以需要在nginx目录下新建www目录,然后在该目录下创建index.php。内容可以只写&?
phpinfo();重启php-fpm 和 nginx
sudo /etc/init.d/php5-fpm restart
sudo /etc/init.d/nginx restart
然后就可以localhost访问了。
第四部分nginx虚拟服务配置
第一步:添加一个文件,命名为vhost.conf,编辑文件内容server
listen 80;
server_name www.test.
/usr/share/nginx/www/
index.html index.htm index.
location ~ \.php$
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.
fastcgi_index index.
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_
include fastcgi_
第二步:修改nginx.conf 文件将该文件引入到配置中
在http 节点最后加上 &include /etc/nginx/vhost. & & 注意的是nginx.conf和vhost.conf同级
第三步:将服务名 &www.test.dev &加入到hosts中,编辑hosts文件
sudo vi /etc/hostssudo vi /etc/hosts
添加以下内容
127.0.0.1 & & www.test.dev
最后重启系统在浏览器中输入www.test.dev 就可以看到想要的内容了
备注:在重启nginx的过程中,以下命令还是比较有用的
sudo nginx -c /etc/nginx/nginx.conf & & & 以指定配置文件启动
sudo /usr/sbin/nginx & & &找到nginx安装的地址启动
sudo /usr/sbin/nginx -t -c /etc/nginx/nginx.conf & &校验nginx的配置是否正确
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:75818次
积分:1794
积分:1794
排名:第18066名
原创:105篇
评论:10条
(7)(2)(2)(3)(7)(4)(5)(10)(6)(8)(5)(12)(1)(4)(13)(13)(7)(4)(2)2027人阅读
nginx杂谈(8)
& & 如今信息时代,对于web服务器的要求很高,既要性能,又要稳定性,又经济最好免费,还要满足公司的各大奇葩业务需求,越来越挑剔,就像你去买手机,中意的是外观好看,功能强大,拍照清晰,存储大,不死机不闪退,充电快,质量好能当‘砖头’使,操作简单顺手,价格便宜,最主要看电影玩游戏爽,总之使用起来要爽,哈哈。。。 & 互联网上主流的web服务器有 nginx, &Apache, Squid, IIS, kangle, WebSphere, &WebLogic, Tomcat, Jboss, TrafficServer等等,
我玩过的就nginx,Apache, TrafficServer三款,其它不熟, Apache由于不可扩展,不可定制,固满足不了公司一些需求,TrafficServer 开源产品 c++编写,功能强大,可搭建集群,国人用得不多,知道的人也不多,大公司在用(阿里),小公司用不起,bug太多,难维护, &Nginx现在用的人越来越多,优点如下:
& & & & & &1.模块化的功能集,第三方模块丰富,占用资源小,稳定性强,
& & & & & &2.可扩展性强,官方文档资料全,安装配置简单,官方代码贡献者活跃,不断有更新,
& & & & & &3.Nginx从头开始都是纯C实现,采用多进程和异步机制(异步非阻塞),内存消耗极小,官方统计,单台能达到50000并发请求量。
& & & & & &4.支持负载均衡,跨平台,能满足公司很多需求。
笔者的系统centos6.5
首先装好linux系统 ,此处略。
nginx: & & &192.168.4.72 & & & & & #nginx安装的位置及apache位置
apache: &192.168.4.69 & & & & & #要代理的两台服务器
apache: &192.168.4.68
一、安装gcc
&&&yum install gcc-c++ -y
二、安装nginx所需要的依赖库
&&&yum -y install zlib-devel openssl-devel pcre-devel
三、如有安装老版本,则卸载。
&&&查看:find -name nginx
&&&卸载:yum remove nginx
四、下载nginx源码并解压.(源码去官网下载, 以下是官方链接)
&&& wget -c
&&& tar -zxvf nginx-1.6.2.tar.gz
&&& mv nginx-1.6.2 nginx
&&& cd nginx
&&& ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx
&&& --with-http_addition_module
&&& --with-http_flv_module --with-http_gzip_static_module
&&& --with-http_realip_module --with-http_ssl_module
&&& --with-http_stub_status_module --with-http_sub_module
&&& --with-http_dav_module
注:这里--with开头的选项为nginx自带的模块,需要什么就添加,默认是不安装,
&&& make install
五、建立nginx用户及用户组
& & & groupadd -r nginx
&&& useradd &-s /sbin/nologin -g nginx -r nginx
cd 到nginx目录,看能否启动
sbin/nginx & & & & & #如果没有报错,说明ok
再ps一下,ps ax | grep nginx,看到如下,说明ok
& & & & & & & &2537 ? & & & &Ss & & 0:00 nginx: master process sbin/nginx
& & & & & & & &2538 ? & & & &S & & &0:00 nginx: worker process
& & & & & &nginx在启动后,会有一个master进程和多个worker进程。master进程主要用来管理worker进程,包含:接收来自外界的信号,向各worker进程发送信号,监控worker进程的运行状态,当worker进程退出后(异常情况下),会自动重新启动新的worker进程。
&查看安装的nginx版本:
& & & & & & sbin/nginx -v
&查看安装的编译选项:
& & & & & &sbin/nginx -V
六、下面开始配置nginx,及反向代理,编辑配置文件nginx.conf
&&& vim /usr/local/nginx/conf/nginx.conf
&&& & & & & & & & & & & & & & & & & & #这里是nginx运行的用户
&&&worker_processes 2; & & & & & & & & & & & & & &#设置nginx服务的worker子进程,比如设为2:
&&&error_log logs/error. & & & & & & & & & & & &#去掉前面的#,记录nginx错误日志,方便检查bug:
&&&pid logs/nginx. & & & & & & & & & & & & & & & & #nginx的pid位置
& & & & & & &worker_connections& 1024; & & &&#每个进程允许的最多连接数,
& & & include & mime.
& & &default_type& application/octet-
& &#把下面的#去掉,这是日志配置:
&&&log_format&&main&&'$remote_addr - $remote_user [$time_local] &$request&&&&& '
&&&&&&&&&&&&&&&&&&&&&&&'$status $body_bytes_sent &$http_referer& '
&&&&&&&&&&&&&&&&&&&&&&&'&$http_user_agent& &$http_x_forwarded_for&';
&&&access_log logs/access. & & & & & & & & & & &#日志存放位置
#这里很关键,很多小伙伴问我 “负载均衡乍配置,为啥我配置的不能访问呢“,这里的upstream就是配置负载均衡的,当然得两台以上才叫负载,我这里的ip69和68都是
#用的apache, & 也许你们的是tomcat, 没关系,按这样配置一样可以,
&upstream proxy_test {
&&&server 192.168.4.69:80 weight=1; & & #如果你要测试,把这里换成你自己要代理后端的ip
&&&server 192.168.4.68:80 weight=1;
& &#ip_ & & & & & & & & & & & & & & & & & & & & & & &#当负载两台以上用ip来hash解决session的问题,一台就别hash了。
这是server段的配置
&&& listen&&&&&& 80;
&&& server_name&&; & &#要访问的域名,我这里用的测试域名,如果有多个,用逗号分开
&&& charset utf8;
&&& location / {
&&&&&&& proxy_pass & & & http://proxy_ & & & & & & & #这里proxy_test是上面的负载的名称,映射到代理服务器,可以是ip加端口, & 或url&
&&&&&&& proxy_set_header Host&&&&&&$
&&&&&&& proxy_set_header X-Real-IP $remote_
&&&&&&& proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_
保存退出!
nginx平滑重启:nginx -s reload & #加载刚刚加入的配置。
七、测试:
& & &后端服务器开启,在192.168.4.69和68的网页文件位置添加测试文件test.html, 内容69上: this is test 69, & & 68上:this is test 68,这样方便查看访问到哪台了。
& & & 在本地配置好host,在\Windows\System32\drivers\etc\hosts & & & & & & &用记事本打开,在最后一行加入:192.168.4.72
& & &然后使用cmd,ping
& 是否能ping通这个192.168.4.72地址,如果ok,则继续
打开浏览器用去访问后端服务器的文件,
如: /test.html,
& & 浏览器打开显示有this...说明配置ok了。
然后F5刷新一下,如果是68和69不停的切换,说明负载ok了。
如果还有什么不懂的,加我们的技术群解答()
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:5131次
排名:千里之外
原创:13篇android网络测试环境搭建方法杂谈_搜狗测试吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:7贴子:
android网络测试环境搭建方法杂谈
手机软件测试中,网络测试是很常见的,所以查看和修改请求与返回数据就是基础。本文介绍如何查看网络请求,以及如何搭建环境,后续再介绍修改请求数据以及更多应用。下面介绍三种独立的方法。1、使用fiddlerFiddler是强大且好用的Web调试工具之一,它能记录客户端和服务器的http和https请求,允许你监视,设置断点修改输入输出数据。1、 配置fiddler允许被远程连接:在一台windows机器上安装并打开fiddler,然后在fiddler options中勾选如下截图中红框中的复选框,并设置上面的端口号,默认为8888:2、 配置手机端wifi代理在手机的wifi设置中,修改当前连接的wifi配置,里面会有代理服务器的设置,然后设置好fiddler所在机器的IP和端口8888(注意,fiddler所在机器和手机必须在一个局域网内)。3、 然后手机的网络交互信息就可以在fiddler中看到了: 优缺点:1、 环境搭建方便快速,数据查看直观,可以进行后续的修改上传和返回数据2、 只能在wifi环境下使用2、修改hosts、到服务器上查看log当需要抓包移动网络下的数据时,上面的方法就无效了,因为手机直接连接的是移动网、然后直接到达所需的服务器,中间无法架起WIFI桥梁进行抓包处理。此时可用如下方法:修改系统hosts文件,把要检查的服务器域名指向测试ip,之后就可以到测试服务器上查看log了。优缺点:1、 可以在任意环境下使用,包括移动网和wifi网2、 只能抓到指定域名(配置好hosts的域名)的log,无法像fiddler那样全部抓取3、 必须有搭建好的http测试服务器才行4、 如果移动网下,被指向的测试ip必须是公网ip5、 手机必须root3、使用tcpdump使用Linux底层抓包工具tcpdump,它可以抓取所有从Android发出的网络信息,不限于http、ftp等。方法如下:前提条件:1、 手机需要root2、 电脑上安装WireShark(一款网络抓包工具),用于log分析步骤:1、 把tcpdump传进手机,原则上任意路径均可,例如/data/local2、 修改tcpdump的权限为6755(使用任意文件工具,例如re、es):(其实7777也没问题,但为了避免权限过滥,还是限制一下的好)3、 执行抓包:连上adb后,运行adb shellcd /data/local/./tcpdump -p -vv -s 0 -w /sdcard/capture.pcap这样抓包就开始了,并把log存入/sdcard/capture.pcap4、 执行网络操作,于是log写入了;待网络操作完毕后,按ctrl+c中止5、 把log文件拷贝到电脑上,用WireShark打开,就能看到各种网络交互了。优缺点:1、 可以在任意环境下使用,包括移动网和wifi网2、 只能查看请求数据,无法进行修改3、 手机必须root
好的话剧,坚决不能错过,价格也很重要!
我们进行客户端网络相关的测试时,肯定要更改服务器返回数据进行测试,但频繁更改线上服务器的数据肯定不现实,即麻烦又有风险,所以就需要我们自己做网络返回数据了。自己改网络返回数据,一般有两种方法,一种是指向代理服务器,然后在代理服务器上进行数据修改,此时我们使用fiddler;另一种就是更改hosts文件,把服务器指向自己的测试服务器,然后在测试服务器上进行数据修改。1. 使用fiddler的autoResponder打开fiddler,点击要自定义网络返回的条目,点击右边工具栏中的Autoresponder,然后点击页面中的Add Rule按钮,此时就会在下面的编辑区显示刚刚添加的请求。点击选中请求,然后编辑器下方就会出现链接的属性设置选项。此处,上框中是要编辑的请求链接,下框是想要给的返回(可预选择的内容如下),选好之后点击save按钮就可以保存了。常用返回的说明:上面从200到502的都是既有的网络返回Delay:100是设置超时返回时间,单位为毫秒Redir指的是跳转到其它的页面Find a file:选择一个返回的本地文件还有,上框的内容,如果是以EXACT开头,则指的是精确匹配,也就是说只有完全匹配的链接才会执行该条规则;当然还可以使用正则表达式,用以模糊匹配,例如下面:最后,要检查如下几个开关:Enable automatic responses:这是总开关,如果取消勾选,那么所有设置的自定义返回规则都不生效了Unmatched requests passthrough:没有匹配的请求是否放行,如果勾选它,那么所有没有匹配的请求都会照常工作;如果取消勾选,那么所有没有匹配的请求都会被拦截不会给任何返回。至此,通过上面的设置后,就可以让命中规则的请求url返回指定的内容。2. 使用fiddler中的返回断点使用fiddler设置断点也可以修改response(返回内容)。2.1. 设置请求断点的原理Fiddler是个代理、可以捕获整个session,那么就可以在服务器返回内容之后进行中断,进而修改内容再放行给客户端,所以客户端拿到的就是修改之后的数据了。2.2. 设置返回断点的三种方法a) 打开Fiddler点击Rules-&Automatic Breakpoint -&After Requests(这种方法会中断所有会话的返回)再次点击Rules-&Automatic Breakpoint -&Disabled就可以消除断点了b) 在命令行中输入命令:bpafter xxx.xxx。xxx.xxx是想要中断的请求url。所以这种方法属于定制断点。若想消除该断点,在命令行中输入命令bpu即可。c) 在auto responder中也可以添加:2.3. 设置返回断点的应用范围上面已经说过了,设置返回断点并修改可以做客户端测试,和我们平时使用fiddler的AutoResponder功能上很类似,只不过设置返回断点的方式比设置AutoResponder更加快捷方便,相当于即时修改返回数据、当场可以看到客户端的现象。但也由于是即时修改数据,如果操作慢的话,可能会导致客户端获取超时失败。所以需要依照不同的测试场景合理使用这几种方法。2.4. 设置返回断点的实例实例使用一张图片来说明整个操作过程和方法。 3. 使用http测试服务器http测试服务器,就是实实在在的服务器,上面搭建了http+php服务,只要本地设置了hosts(对于手机来说,必须root才能修改),就可以让指定的http访问到自己的服务器上,于是就可以随意修改了。3.1. http测试服务器的搭建http服务器,使用最多的是Linux+Apache,还有linux+nginx,window+IIS也行,但性能上要比Linux差不少,并且涉及windows本身的防火墙,导致外网访问可能会有问题。具体搭建方法,大家可以百度或搜狗一下,比较简单,就不在这里赘述了。3.2. 设置本地hostshosts文件是操作系统中,指定域名访问指定IP的匹配对,windows操作系统中 该文件是在%windir%\system32\drivers\etc,android系统中是在/etc下面以android系统简单说明一下如何修改:手机必须root,方法就不说了,可网上搜索。使用获取了最高管理员权限的文件管理应用,打开/etc,然后挂载读写操作,然后打开下面的hosts文件在hosts文件中增加需要绑定的域名和IP,例如:10.12.131.16 input.然后保存退出。最好再进入该文件看一下 是否修改成功。3.3. 自定制返回内容经过上面的操作后,凡是发往input.的请求,都会来到10.12.131.16了,所以下面就可以自定制返回内容了:在http服务器工作根目录中新建各种对应的目录和文件,就可以被访问了。4. 其它注意点如果即想使用http测试服务器,又想使用fiddler抓包,那么可以先设置代理到fiddler上,然后给fiddler所在机器上配置hosts。注意:如果在手机上即设置代理到fiddler,又设置了hosts,那么hosts是不管用的,也就是说代理是绕过hosts工作的。
贴吧热议榜
使用签名档&&
保存至快速回贴

我要回帖

更多关于 nginx lua 环境搭建 的文章

 

随机推荐