设为首页 收藏本站
查看: 1535|回复: 0

LNMP环境搭建——Nginx篇

[复制链接]

尚未签到

发表于 2015-11-16 12:37:28 | 显示全部楼层 |阅读模式
DSC0000.png
  1.Nginx配置文件测试

root@kallen:/usr/local/nginx/sbin# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf  syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
  2.Nginx启动


[iyunv@kallen ~]# /usr/local/nginx/sbin/nginx
  3.Nginx负载均衡
  Nginx Architecture:

DSC0001.png

Nginx LoadBalance:

DSC0002.png

Nginx High Availability:

DSC0003.png

Nginx Access Process:

DSC0004.jpg

Nginx 的 upstream 目前支持4 种方式的分配——
  (1)轮询(默认) :
  每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

  (2)weight :
  指定轮询几率,weight 和访问比率成正比,用于后端服务器性能不均的情况。

  (3)ip_hash :
  每个请求按访问ip 的hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决session 的问题。可以针对同一个C 类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕了才会换一个。

  (4)fair(第三方):
  按后端服务器的响应时间来分配请求,响应时间短的优先分配。

  (5)url_hash(第三方):
  按访问url 的hash 结果来分配请求,使每个url 定向到同一个后端服务器,后端服务器为缓存时比较有效。

  4.Nginx安装及配置
  (1) nginx源码安装


[iyunv@kallen ~]# cd /usr/local/src/

[iyunv@kallen ~]# wget http://syslab.comsenz.com/downloads/linux/nginx-0.9.6.tar.gz
[iyunv@kallen ~]# tar zxvf nginx-0.9.6.tar.gz
[iyunv@kallen ~]# cd nginx-0.9.6

./configure --prefix=/usr/local/nginx
--sbin-path=/usr/local/nginx/sbin/nginx
--conf-path=/usr/local/nginx/conf/nginx.conf
--error-log-path=/usr/local/nginx/logs/error.log
--http-log-path=/usr/local/nginx/logs/access.log
--pid-path=/usr/local/nginx/var/nginx.pid
--lock-path=/usr/local/nginx/var/nginx.lock
--http-client-body-temp-path=/dev/shm/nginx_temp/client_body
--http-proxy-temp-path=/dev/shm/nginx_temp/proxy
--http-fastcgi-temp-path=/dev/shm/nginx_temp/fastcgi
--user=www --group=www
--with-cpu-opt=pentium4F
--without-select_module
--without-poll_module
--with-http_realip_module
--with-http_sub_module
--with-http_gzip_static_module
--with-http_stub_status_module
--without-http_ssi_module
--without-http_userid_module
--without-http_geo_module
--without-http_memcached_module
--without-http_map_module
--without-mail_pop3_module
--without-mail_imap_module
--without-mail_smtp_module
--with-pcre=/usr/local/src/pcre-8.32/
--with-zlib=/usr/local/zlib

[iyunv@kallen ~]# make && make install
[iyunv@kallen ~]# mkdir /dev/shm/nginx_temp
  有的nginx版本编译时会因为pcre编译不过去,需要修改一下

--with-pcre=/usr/local/src/pcre-8.32,前提是已经下载了pcre源码包pcre-7.8.tar.gz,并解压到/usr/local/src/pcre-8.32,不需要编译pcre.
  在实际安装过程中可能需要手动安装以下依赖包:
  a. 安装依赖软件


[iyunv@kallen ~]# apt-get --install-suggests install gcc g++ make
  b. 下载相关软件


wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
wget http://zlib.net/zlib-1.2.8.tar.gz
wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz
wget http://www.canonware.com/download/jemalloc/jemalloc-3.6.0.tar.bz2
wget http://tengine.taobao.org/download/tengine-2.0.2.tar.gz
  c. 安装Pcre


  tar zxvf pcre-8.35.tar.gz
cd pcre-8.35
./configure --prefix=/usr/local/pcre-8.35
make && make install
  d. 安装Zlib


  tar zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=/usr/local/zlib-1.2.8
make && make install
  [ERROR]-1:


./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib=<path> option
  [ERROR]-2:


configure: error: You need a C++ compiler for C++ support.
make[1]: *** [/usr/local/src/pcre-8.32/Makefile] Error 1
make[1]: Leaving directory /home/kallen/MyDOC/nginx-1.8.0
make: *** [build] Error 2
  安装完成后的配置信息如下:


[Nginx Configuration Summary]
Configuration summary
+ using PCRE library: /usr/local/src/pcre-8.32
+ OpenSSL library is not used
+ using builtin md5 code
+ sha1 library is not found
+ using zlib library: /usr/local/zlib
nginx path prefix:"/usr/local/nginx"
nginx binary file:"/usr/local/nginx/sbin/nginx"
nginx configuration prefix:"/usr/local/nginx/conf"
nginx configuration file:"/usr/local/nginx/conf/nginx.conf"
nginx pid file:"/usr/local/nginx/var/nginx.pid"
nginx error log file:"/usr/local/nginx/logs/error.log"
nginx http access log file:"/usr/local/nginx/logs/access.log"
nginx http client request body temporary files:"/dev/shm/nginx_temp/client_body"
nginx http proxy temporary files:"/dev/shm/nginx_temp/proxy"
nginx http fastcgi temporary files:"/dev/shm/nginx_temp/fastcgi"
nginx http uwsgi temporary files:"uwsgi_temp"
nginx http scgi temporary files:"scgi_temp"
  (2) 编写nginx启动脚本


[iyunv@kallen init.d]# vi /etc/init.d/nginx
  写入以下内容:


#!/bin/bash
#        
# Startup script for the Nginx HTTP Server
#
# Kallen Ding, Apr 23 2015
NGINX_PATH="/usr/local/nginx/"
OPTIONS="-c ${NGINX_PATH}conf/nginx.conf"
prog=nginx
nginx=${NGINX_PATH}sbin/nginx
pidfile=/var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
start() {
echo -n "Starting $prog: "
daemon --pidfile=${pidfile} $nginx $OPTIONS
RETVAL=$?
echo
return $RETVAL
}
stop() {
echo -n "Stopping $prog: "
killproc -p ${pidfile} $nginx
RETVAL=$?
echo
}
reload() {
echo -n $"Reloading $prog: "
killproc -p ${pidfile} $nginx -HUP
RETVAL=$?
echo
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
reload)
reload
;;
status)
status $prog
RETVAL=$?
;;
*)
echo "Usage: $prog {start|stop|restart|reload|status}"
RETVAL=3
esac
exit $RETVAL

  保存后,更改/etc/init.d/nginx的权限


[iyunv@kallen ~]# chmod 755 /etc/init.d/nginx
[iyunv@kallen ~]# chkconfig --add nginx
[iyunv@kallen ~]# chkconfig nginx on
  【】文中所有图片均来自Nginx官网.

  热门推荐

  •   在RHEL6.5中配置本地YUM源
  •   Ubuntu下Zabbix安装及使用问题
  •   MySQL双主热备问题处理
  •   Rsync同步错误处理


githubstackmail
DSC0005.jpg DSC0006.jpg DSC0007.jpg
版权声明:本文为博主原创文章,未经博主允许不得转载|Copyright &#169;2011-2015, Kallen Ding, All Rights Reserved.

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-139913-1-1.html 上篇帖子: 彻底删除LNMP 下篇帖子: LNMP= CentOS+Nginx+MySQL+PHP 安装配置及简易建站笔记(持续更新中)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表