Nginx实战基础篇六通过源码包编译安装部署LNMP搭建Discuz论坛
版权声明:
本文遵循“署名非商业性使用相同方式共享 2.5 中国大陆”协议
您可以自由复制、发行、展览、表演、放映、广播或通过信息网络传播本作品
您可以根据本作品演义自己的作品
您必须按照作者或者许可人指定的方式对作品进行署名。
您不得将本作品用于商业目的。
如果您改变、转换本作品或者以本作品为基础进行创作,您只能采用与本协议相同的许可协议发布基于本作品的演绎作品。
对任何再使用或者发行,您都必须向他人清楚地展示本作品使用的许可协议条款。
如果得到著作权人的许可,您可以不受任何这些条件的限制。
Designed by 小诺(https://www.doczj.com/doc/de16295814.html, https://www.doczj.com/doc/de16295814.html,)
LNMP是一个缩写,它指一组通常一起使用来运行动态网站或者服务器的自由软件:
Linux+Nginx+MySQL+php(php-fpm),由于Nginx有大并发的优势,现在越来越多的企业L AMP平台都在向LNMP迁移。
接着我们开始进入LNMP搭建。现实生产环境下,不同的业务需求都不相同,因此更多的企业会考虑使用源码搭建LNMP环境,这样可以更加灵活使用各个功能参数将性能调制到最佳状态。当然如果贵公司的环境比较简单,可以考虑rpm包安装。
注意:本实验环境基本上都是从各大官网下载的最新安装包。
一、系统环境:
1.[root@rhel6u3-7 ~]# uname -r
2.2.6.32-279.el6.i686
3.[root@rhel6u3-7 ~]# cat /etc/redhat-release
4.Red Hat Enterprise Linux Server release 6.3 (Santiago)
5.[root@rhel6u3-7 ~]#
二、开始安装部署LNMP
1、部署环境之前先配置好yum仓库指向对应光盘所在位置即可。
yum能够自动解决依赖包问题,功能明显优越于rpm安装。
1.[root@rhel6u3-7 ~]# mount /dev/cdrom /media/cdrom/ //挂载光盘
2.mount: block device /dev/sr0 is write-protected, mounting read-only
3.[root@rhel6u3-7 ~]# vim /etc/yum.repos.d/rhel-source.repo //编辑并修
改默认yum配置文件
4.[rhel-source]
https://www.doczj.com/doc/de16295814.html,=Red Hat Enterprise Linux $releasever - $basearch - Source
6.baseurl=file:///media/cdrom
7.enabled=1
8.gpgcheck=0
9.[root@rhel6u3-7 ~]# yum clean all //清空yum环境
10.Loaded plugins: product-id, security, subscription-manager
11.Updating certificate-based repositories.
12.Unable to read consumer identity
13.Cleaning repos: rhel-source
14.Cleaning up Everything
15.[root@rhel6u3-7 ~]# yum makecache //清空yum缓存
16.Loaded plugins: product-id, security, subscription-manager
17.Updating certificate-based repositories.
18.Unable to read consumer identity
19.rhel-source
| 4.0 kB 00:00 ...
20.rhel-source/filelists_db
| 3.1 MB 00:00 ...
21.rhel-source/primary_db
| 2.5 MB 00:00 ...
22.rhel-source/other_db
| 1.2 MB 00:00 ...
23.rhel-source/group_gz
| 204 kB 00:00 ...
24.Metadata Cache Created //当出现以上信息时候,说明yum环境配置OK
了。
2、安装LNMP环境所需要的最基本包
1.[root@rhel6u3-7 ~]#yum -y install libjpeg-devel libpng-devel libtiff
-devel fontconfig-devel freetype-devel libXpm-devel gettext-devel o
penssl-devel libtool-ltdl-devel gcc *c++* ncurses-devel // libjpe
g-devel ,libpng-devel ,libtiff-devel ,fontconfig-devel ,
freetypedevel,
2.libXpm-devel这些都是图片与字体相关的开发包,为了使php可以对其做更好的支持。
gettext是语言相关的一个函数库。openssl-devel是一套工具,用于生成X.509协议
中所使用的密钥,公钥等文件。libtool是一个通用库支持脚本,在php编译过程中会需要
使用到。
3.[root@rhel6u3-7 yuanma]#tar -zxvf pcre-8.32.tar.gz //解压
4.[root@rhel6u3-7 yuanma]#cd pcre-8.32/ 安装nginx需要的pcre包
5.[root@rhel6u3-7 pcre-8.32]#./configure //检查配置环境
6.[root@rhel6u3-7 pcre-8.32]#make && make install //编译安装
7.[root@rhel6u3-7 lib]# ln -s libpcre.so.0.0.1 libpcre.so.1 //做个软连
接指向libpcre.so.1,否则安装nginx会报错,找不到libpcre.so.1
3、安装nginx软件包
关于nginx详细配置可参看以下文档
Nginx实战基础篇一源码包编译安装部署web服务器
https://www.doczj.com/doc/de16295814.html,/418026/1140965
Nginx实战基础篇二 Nginx主配置文件参数详解
https://www.doczj.com/doc/de16295814.html,/418026/1140995
1.[root@rhel6u3-7 yuanma]# tar -xzf nginx-1.
2.7.tar.gz
2.[root@rhel6u3-7 nginx-1.2.7]# useradd nginx
3.[root@rhel6u3-7 nginx-1.2.7]# ./configure --user=nginx--group=ngin
x--prefix=/usr/local/nginx/ --with-http_stub_status_module --with-
http_ssl_module --with-sha1=/usr/lib //-with-sha1指定希哈函数库位置,
其他参数参看以上共享文档
4.[root@rhel6u3-7 nginx-1.2.7]#make && make install
5.[root@rhel6u3-7 pcre-8.32]# /usr/local/nginx/sbin/nginx -c /usr/loca
l/nginx/conf/nginx.conf //启动nginx
6.[root@rhel6u3-7 pcre-8.32]# links 192.168.100.107 //出现
welcome to nginx!说明nginx安装成功
4、安装mysql数据库
安装mysql包,并设置mysql开机自动启动。
1.[root@rhel6u3-7 mysql-5.5.9]# autoreconf --force –install //由
autoconf包提供 Autoconf可以用来分析用户的系统,判断是否符合POSIX标准,并提
供相应解决方法。
2.autoreconf: `configure.ac' or `configure.in' is required
3.[root@rhel6u3-7 yuanma]# tar -xzf mysql-5.1.67.tar.gz //解压mysql安
装包
4.[root@rhel6u3-7 mysql-
5.1.67]# ./configure --prefix=/usr/local/mysql
--localstatedir=/var/lib/mysql --enable-assembler --with-extra-c
harsets=all --enable-thread-safe-client --with-client-ldflags=-all-
static --with-mysqld-ldflags=-all-static --with-pthread --with-big-
tables --without-debug --with-ssl //编译安装mysql时我们尽量以静态化方式
编译,提高mysql性能,在安装之前你应该已经停止机器上原有的mysql,甚至应该将原本
的卸载。--enable-assembler参数将会使mysql使用一些字符函数的汇编版本,
--with-extra-charsets设置了支持的字符集,--enable-thread-safe-client和
--with-pthread这两个参数要求mysql使用线程库并以线程方式编译了客户端。
5.…… //出现以下信息说明安装成功
6.Thank you for choosing MySQL!
7.Remember to check the platform specific part of the reference manual
8.for hints about installing MySQL on your platform.
9.Also have a look at the files in the Docs directory.
10.[root@rhel6u3-7 mysql-5.1.67]# make && make install
11.[root@rhel6u3-7 mysql-5.1.67]# useradd mysql –s /sbin/nolo
gin // 创建mysql管理用户名为mysql,并设置禁止登陆系统。
12.[root@rhel6u3-7 mysql-5.1.67]# /usr/local/mysql/bin/mysql_i
nstall_db --user=mysql //使用本地用户mysql运行mysql数据库
13.[root@rhel6u3-7 mysql-5.1.67]# cd /usr/local/mysql/
14.[root@rhel6u3-7 mysql]# chown -R root:mysql . //更改mysql
主目录属主和属组,增强安全性
15.[root@rhel6u3-7 mysql]# chown mysql. /var/lib/mysql -R
16.[root@rhel6u3-7 mysql]# cp share/mysql/https://www.doczj.com/doc/de16295814.html,f /etc/my.
cnf
17.cp: overwrite `/etc/https://www.doczj.com/doc/de16295814.html,f'? y
18.[root@rhel6u3-7 mysql]# cp share/mysql/mysql.server /etc/in
it.d/mysqld //创建system V 脚本
19.[root@rhel6u3-7 mysql]# chmod 755 /etc/init.d/mysqld
20.[root@rhel6u3-7 mysql]# chkconfig --add mysqld //添加到开机
启动项中
21.[root@rhel6u3-7 mysql]# chkconfig mysqld on //设置开机启动
22.[root@rhel6u3-7 mysql]# service mysqld start //用system V脚
本启动开是否能够成功启动mysql
23.Starting MySQL. SUCCESS!
24.[root@rhel6u3-7 mysql]# echo 'export PATH=$PATH:/usr/local/
mysql/bin' >>~/.bashrc //创建搜索路径
25.[root@rhel6u3-7 ~]# cat ./.bashrc | grep mysql
26.export PATH=$PATH:/usr/local/mysql/bin
27.[root@rhel6u3-7 init.d]# mysqladmin -u root password 123.co
m //创建数据库管理用户及密码
5、安装php软件
安装php软件之前,需要安装以下库,方可更佳完美的支持php软件
1.[root@rhel6u3-7 yuanma]# tar -xf gd-
2.0.35.tar.gz //gd2是一个用以生成
图形图片的库,RHEL自带gd2的开发包,但是版本比较低,生成的图片是黑白的,非常不美
观,因此这边单独编译一个高版本。
2.[root@rhel6u3-7 gd-2.0.35]# ./configure -prefix=/usr/local/gd2
3.[root@rhel6u3-7 gd-2.0.35]# make && make install
4.
5.[root@rhel6u3-7 yuanma]# tar -zxvf libiconv-1.14.tar.gz //libiconv
用于实现一个字符编码到另一个字符编码的转换。
6.[root@rhel6u3-7 yuanma]# cd libiconv-1.14
7.[root@rhel6u3-7 libiconv-1.14]# ./configure
8.[root@rhel6u3-7 libiconv-1.14]#make && make install
9.
10.[root@rhel6u3-7 yuanma]# tar xf libmcrypt-2.5.7.tar.gz //l
ibmcrypt 可以使php支持更多加密算法。
11.[root@rhel6u3-7 yuanma]# cd libmcrypt-2.5.7
12.[root@rhel6u3-7 libmcrypt-2.5.7]# ./configure
13.[root@rhel6u3-7 libmcrypt-2.5.7]# make && make install
14.
15.[root@rhel6u3-7 yuanma]# tar xf mhash-0.9.9.tar.gz //mhash是
一个哈稀演函数库,它可以支持多种哈稀演算法,例如最出名的MD5、SHA1 或 GOST,还有其它多种的哈稀演算法。
16.[root@rhel6u3-7 yuanma]# cd mhash-0.9.9
17.[root@rhel6u3-7 mhash-0.9.9]# ./configure
18.[root@rhel6u3-7 mhash-0.9.9]# make && make install
19.
20.[root@rhel6u3-7 yuanma]# tar -xf libevent-2.0.21-stable.tar
.gz //libevent 是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部用select、epoll、kqueue等系统调用管理事件机制。
21.[root@rhel6u3-7 yuanma]# cd libevent-2.0.21-stable
22.[root@rhel6u3-7 libevent-2.0.21-stable]# ./configure
23.[root@rhel6u3-7 libevent-2.0.21-stable]# make && make insta
ll
24.
25.[root@rhel6u3-7 yuanma]# yum –y install libxml2-devel lib
curl-devel //安装其他支持包
26.//以下开始安装php软件
27.[root@rhel6u3-7 yuanma]# tar xf php-5.2.17.tar.gz
28.[root@rhel6u3-7 yuanma]# gzip -cd php-5.2.17-fpm-0.5.14.dif
f.gz | patch -d php-5.2.17 -p1 //将php-fpm作为补丁加入php源码中
29.[root@rhel6u3-7 php-5.2.17]# ./configure --prefix=/usr/loca
l/php --enable-fastcgi --enable-fpm --enable-discard-path --enable-force-cgi-redirect --with-config-file-path=/usr/local/php/etc --wit h-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_ config -with-iconv-dir --with-freetype-dir with-jpeg-dir --with-pn g-dir --with-gd=/usr/local/gd2/ --with-zlib --with-libxml-dir --wi th-curl --with-curlwrappers --with-openssl --with-mhash --with-xmlr pc --with-mcrypt --enable-xml --enable-shmop --enable-sysvsem --ena ble-inline-optimization --enable-mbregex --enable-mbstring --enabl e-gd-native-ttf --enable-ftp --enable-pcntl --enable-sockets --enab le-zip --disable-debug --disable-ipv6
30.//--enable-fastcgi启动fast-cgi "
31.---enable-fpm"是激活对FastCGI模式的fpm支持,
32."--enable-discard-path" 打开这个选项,用户就不能透过浏览器读取类
似.htaccess 的系统安全相关的文件。
33."--enable-force-cgi-redirect" 若使用 CGI VERSION 模式来执
行 PHP 的设,打开本选项会增加安全性。例如用户
读 http://my.host/cgi-bin/php/secret/doc.html 遇到比较了解 PHP 系统的黑客级用户可能会自已输入以下网址 http://my.host/secret/doc.html 来读取相关信息。若 PHP 和 Apache 编译在一起,让 PHP 变成 Apache 的一部份,则不需要加入本选项。
34.--with-config-file-path在指定php主配置文件的路径
35.--with-mysql和--with-mysqli在指定你的mysql的位置和它的相关工具
36.--with-iconv-dir,--with-freetype-dir,-with-jpeg-dir,
--with-png-dir,--withgd,--with-zlib,--with-libxml-dir这些都是在启用对某种文件的支持
37.--with-curl和--with-curlwrappers是用于支持curl函数,此函数允许你
用不同的协议连接和沟通不同的服务器
38.--with-openssl,--with-mhash,--with-mcrypt这都是和加密有关的参
数,启用它们是为了让php可以更好的支持各种加密。
39."--enable-bcmath" 高精度数学运算组件。
40."--enable-shmop" 和 "--enable-sysvsem" 使得你的PHP系统可以处理
相关的IPC函数。IPC是一个Unix标准通讯机制,它提供了使得在同一台主机不同进程之间可以互相通讯的方法。
41."--enable-inline-optimization" 栈堆指针和优化线程。
42."--enable-pcntl" 多线程优化。
43.make ZEND_EXTRA_LIBS='-liconv'手工指定将iconv加到php额外库中,
一般来说这些库的增加php可以自动完成,只是iconv貌似不太合群,需要手工操作。
44.…… //出现以下内容,说明配置成功
45.+----------------------------------------------------------
----------+
46.| License:
|
47.| This software is subject to the PHP License, available in
this |
48.| distribution in the file LICENSE. By continuing this ins
tallation |
49.| process, you are bound by the terms of this license agree
ment. |
50.| If you do not agree with the terms of this license, you m
ust abort |
51.| the installation process at this point.
|
52.+----------------------------------------------------------
----------+
53.Thank you for using PHP.
54.[root@rhel6u3-7 php-5.2.17]# make && make install //make完了
之后,如果没有错误,你也可以执行一下make test看看是否有错误,不过时间会比较长。
55.[root@rhel6u3-7 php-5.2.17]# cp php.ini-dist /usr/local/php
/etc/php.ini //创建php配置文件
6、安装php扩展模块,更好的支持php
安装扩展模块是为了进一步完善我们的php,或提高性能,或提高安全性,或扩展功能,或增加稳定
性等。
1.[root@rhel6u3-7 yuanma]# tar -zxf memcache-3.0.7.tgz //memcache是一
个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能
够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。
2.[root@rhel6u3-7 yuanma]# cd memcache-
3.0.7
3.[root@rhel6u3-7 memcache-3.0.7]# /usr/local/php/bin/phpize
4.[root@rhel6u3-7 memcache-3.0.7]# ./configure --with-php-config=/usr/
local/php/bin/php-config
5.[root@rhel6u3-7 memcache-3.0.7]# make && make install
6.
7.[root@rhel6u3-7 yuanma]# cd eaccelerator-eaccelerator-42067ac //eAc
celerator加速引擎是基于mmcache开发的PHP加速优化软件。通过编译和缓存来增加
PHP脚本的性能,使得PHP脚本在编译的状态下降低服务器负载,对服务器的开销几乎完全
消除。它还对脚本起优化作用,能加快其执行效率,提高PHP应用执行速度最高达10倍。
8.[root@rhel6u3-7 eaccelerator-eaccelerator-42067ac]# /usr/local/php/b
in/phpize
9.[root@rhel6u3-7 eaccelerator-eaccelerator-42067ac]# ./configure --en
able-eaccelerator=shared--with-php-config=/usr/local/php/bin/php-c
onfig
10.[root@rhel6u3-7 eaccelerator-eaccelerator-42067ac]# make &&
make install
11.
12.[root@rhel6u3-7 yuanma]# tar xf PDO_MYSQL-1.0.2.tgz //PDO_M
YSQL 是一个php的扩展模块,可以让php更好调用mysql。
13.[root@rhel6u3-7 yuanma]# cd PDO_MYSQL-1.0.2
14.[root@rhel6u3-7 PDO_MYSQL-1.0.2]# /usr/local/php/bin/phpize
//ImageMagick是一个用于查看、编辑位图文件以及进行图像格式转换的开放源代码软
件套装。
15. [root@rhel6u3-7 PDO_MYSQL-1.0.2]# ./configure --prefix=/us
r/local/pdo-mysql --with-php-config=/usr/local/php/bin/php-config -
-with-pdo-mysql=/usr/local/mysql
16.[root@rhel6u3-7 PDO_MYSQL-1.0.2]# make && make install
17.
18.[root@rhel6u3-7 ImageMagick-6.5.9-10]# yum -y install perl
-ExtUtils-CBuilder perl-ExtUtils-MakeMake //安装imageMangick包依赖的
系统包
19.[root@rhel6u3-7 yuanma]# tar xf ImageMagick-6.5.9-10.tar.gz
// //ImageMagick是一个用于查看、编辑位图文件以及进行图像格式转换的开放源代码
软件套装。
20.
21.[root@rhel6u3-7 yuanma]# cd ImageMagick-6.5.9-10
22.[root@rhel6u3-7 ImageMagick-6.5.9-10]# ./configure --enable
-shared --with-modules --without-x --with-gs-font-dir=default--wit
h-perl=yes--with-zlib=yes--with-jpeg=yes
23.[root@rhel6u3-7 ImageMagick-6.5.9-10]# make && make install
24.
25.[root@rhel6u3-7 yuanma]# tar xf imagick-3.0.1.tgz
26.[root@rhel6u3-7 yuanma]# cd imagick-3.0.1
27.[root@rhel6u3-7 imagick-3.0.1]# /usr/local/php/bin/phpize
28.[root@rhel6u3-7 imagick-3.0.1]# ./configure --with-php-conf
ig=/usr/local/php/bin/php-config //--with-php-config在指定php的配置工
具,/usr/local/php/bin/phpize 是用来扩展php的扩展模块的,通过phpize可以
建立php的外挂模块。
29.[root@rhel6u3-7 imagick-3.0.1]# make && make install
7、修改php主配置文件,以使php支持扩展模块。
1.[root@rhel6u3-7 imagick-3.0.1]# cat >>/usr/local/php/etc/php.ini < NDF //修改php主配置文件,以使php支持扩展模块。 2.> [eAccelerator] 3.>zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts -20060613/eaccelerator.so" 4.>eaccelerator.shm_size="32" 5.>eaccelerator.cache_dir="/usr/local/cache/ea" 6.>eaccelerator.enable="1" 7.>eaccelerator.optimizer="1" 8.>eaccelerator.check_mtime="1" 9.>eaccelerator.debug="0" 10.>eaccelerator.filter="" 11.>eaccelerator.shm_max="0" 12.>eaccelerator.shm_ttl="0" 13.>eaccelerator.shm_prune_period="0" 14.>eaccelerator.shm_only="0" 15.>https://www.doczj.com/doc/de16295814.html,press="1" 16.>https://www.doczj.com/doc/de16295814.html,press_level="9" 17.> ENDF 18.[root@rhel6u3-7 imagick-3.0.1]# 19.[root@rhel6u3-7 imagick-3.0.1]# mkdir -p /usr/local/cache/e a 20.[root@rhel6u3-7 imagick-3.0.1]# vim /usr/local/php/etc/php. ini //注意:以下是更改后的内容 21.expose_php = Off //expose是php的一个参数,关闭它则会显示更少的 php消息,以提高安全性。output_buffering是一个缓存有关的参数选项。 22.extension_dir = "/usr/local/php/lib/php/extensions/no-debug -non-zts-20060613/" 23.extension = "memcache.so" 24.extension = "pdo_mysql.so" 25.extension = "imagick.so" 26.output_buffering = On 27.更多php核心参数的配置请参 考 https://www.doczj.com/doc/de16295814.html,/zh/ini.core.php 8、优化配置PHP-FPM PHP-FPM是第三方的FastCGI进程管理器,它是作为PHP的一个补丁来开发的,在安装的时候也需 要和PHP源码一起编译,也就是说PHP-FPM被编译到PHP内核中,因此在处理性能上更加优秀,同 时PHP-FPM在处理高并发方面也比spawn-fcgi引擎好很多,因此,推荐Nginx+php/php-fpm这个组合 对php进行解析 注意:下载软件包版本时,尽量使php和php-fpm版本一致,如果版本之间相差太大,可能会出现兼 容的问题。 1.[root@rhel6u3-7 ~]# vim /usr/local/php/etc/php-fpm.conf //配置并优化 php-fpm,红色部分为修改后的部分,部分注释部分需要取消掉。 2. FastCGI进程监听的IP地址以及端口。 3. 信息 4. nginx 注意和nginx主配置文件中的指定的用户保持一 致 5. nginx 注意和nginx主配置文件中的指定的用户保持一致 6. 建议,小于2GB内存的服务器,可以只开启64个进程,4GB以上内存的服务器可以开启200 个进程 7. 脚本的时间,默认是0秒,也就是无限制的执行下去,可以根据情况进行修改 8. 置系统文件数打开最大值为65535,这里的设置才能生效。 9. 个请求后便会被关闭。 10. 允许访问FastCGI进程解析器的IP地址,如果不在这里指定IP地址,将无法接受Nginx 转发过来的PHP解析请求。 11.[root@rhel6u3-7 imagick-3.0.1]# /usr/local/php/sbin/php-fpm start //启动FastCGI方法1 12.Starting php_fpm done 13.[root@rhel6u3-7 imagick-3.0.1]# /usr/local/php/bin/php-cgi –fpm //启动FastCGI方法2 建议采用 14.[root@rhel6u3-7 imagick-3.0.1]# netstat -antl | grep 9000 //查看监听端口及FastCGI运行程序 15.tcp 0 0 192.168.100.107:9000 0.0.0.0:* LISTEN 16.[root@rhel6u3-7 imagick-3.0.1]# ps -ef | grep php-cgi 17.root 9891 1 0 16:48 ? 00:00:00 /usr/local/ php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.conf 18.nginx 9892 9891 0 16:48 ? 00:00:00 /usr/local/ php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.conf 19.nginx 9893 9891 0 16:48 ? 00:00:00 /usr/local/ php/bin/php-cgi --fpm --fpm-config /usr/local/php/etc/php-fpm.conf 20.……….. 9、配置Nginx支持PHP-FPM 1.[root@rhel6u3-7 ~]# vim /usr/local/nginx/conf/nginx.conf //配置网站基 本信息,以下只显示主要信息,其他信息可参看Nginx实战基础篇二 Nginx主配置文件参 数详解https://www.doczj.com/doc/de16295814.html,/418026/1140995 ,当然也可以配置虚 拟主机,这里不做介绍。 2.…………………. 3. server { 4. listen 80; 5. server_name https://www.doczj.com/doc/de16295814.html,; //网址 6. location / { 7. root html; 8. index index.php index.html; 9. } 10.//以下php部分nginx默认配置文档中有打开注释即可 11. location ~ \.php$ { 12. root html; 13. fastcgi_pass 192.168.100.107:9000; //设置监听 IP及端口 14. fastcgi_index index.php; 15. fastcgi_param SCRIPT_FILENAME /usr/local/ngin x/html$fastcgi_script_name; //红色部分为网站绝对路径 16. include fastcgi_params; 17. } 18.…………. 19.[root@rhel6u3-7 ~]# cd /usr/local/nginx/html/ 20.[root@rhel6u3-7 html]# vim index.php //创建一个php主页用于测 试php是否能够正常解析nginx的请求,如果出现了php安装配置以及功能列表统计系统, 说明php环境安装成功。 21. 22. phpinfo(); 23.?> 24.[root@rhel6u3-7 html]# /etc/rc.d/init.d/nginx restart 25.nginx: the configuration file /usr/local/nginx/conf/nginx.c onf syntax is ok 26.nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful 27.Stopping nginx: [ OK ] 28.Starting nginx: [ OK ] 10、在DNS上设置A记录,并在客户机上解析是否成功 有关DNS搭建及配置请参看 1.51bbs A 19 2.168.100.107 测试Nginx对PHP的解析功能 11、优化Nginx中FastCGI的参数 1.[root@rhel6u3-7 bbs]# vim /usr/local/nginx/conf/nginx.conf //在nginx 中添加以下FastCGI优化参数 2.http { 3.…….. 4.fastcgi_connect_timeout 300; //指定连接到后端FastCGI的超时时间 5.fastcgi_send_timeout 300; //指定向FastCGI传送请求的超时时间,这个值是已经 完成两次握手后向FastCGI传送请求的超时时间 6.fastcgi_read_timeout 300; //指定向FastCGI接收请求的超时时间,这个值是已经 完成两次握手后向FastCGI传送请求的超时时间 7.fastcgi_buffer_size 128k; //使用1个128KB的缓冲区读取应答的第一部分 8.fastcgi_buffers 4 128k; //需要4个128K的缓冲区来缓冲FastCGI的应答请求 9.fastcgi_busy_buffers_size 256k; //默认值是Fastcig_buffers的两倍 10.fastcgi_temp_file_write_size 128k; //表示在写入缓存文件时使用多 大的数据块,默认值是fastcig_buffers的两倍 11.fastcgi_intercept_errors on; //记录错误 12.……..} 以上LNMP环境配置基本完成,现在我们通过搭建一个Discuz论坛来测试LNMP是否能够完美的结合 运转。 12、搭建Discuz论坛 先去Discuz下载最新版的安装包 1.[root@rhel6u3-7 ~]# unzip Discuz_X 2.5_SC_UTF8.zip 2.[root@rhel6u3-7 ~]# cd upload/ 3.[root@rhel6u3-7 upload]# cp -rfp * /usr/local/nginx/html/ //copy论 坛网站部分到nginx网站主目录下 4.cp: overwrite `/usr/local/nginx/html/index.php'? y 5.[root@rhel6u3-7 ~]# chown nginx. /usr/local/nginx/html/* -R //修改网 站主目录及附属的所有文件和文件夹属主和属组都为nginx 6.[root@rhel6u3-7 bbs]# /etc/rc.d/init.d/mysqld restart //启动mysql 7.Starting MySQL......................... SUCCESS! 8.[root@rhel6u3-7 bbs]# /etc/rc.d/init.d/nginx restart //启动nginx 9.nginx: the configuration file /usr/local/nginx/conf/nginx.conf synta x is ok 10.nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful 11.Stopping nginx: [ OK ] 12.Starting nginx: [ OK ] 13.[root@rhel6u3-7 bbs]# /usr/local/php/sbin/php-fpm restart //启动FastCGI 14.Shutting down php_fpm .. done 15.Starting php_fpm done 16.[root@rhel6u3-7 bbs]# 在客户机的浏览器中输入https://www.doczj.com/doc/de16295814.html,/install 注意以下是环境检测,主要看看权限是否满足需求。 数据库名称及密码为创建mysql时候创建的,用于管理创建的数据库51bbs,管理员账户及密码用于 管理论坛。 出现以下页面说明安装成功,由于没有联网,所以未显示出来,呵呵。 Windows下Nginx的安装与配置 Windows下Nginx的安装与配置 Nginx ("engine x") 是一款高性能的,轻量级的HTTP Web服务器和反向代理服务器及电子邮件IMAP/POP3/SMTP代理服务器。 Nginx是由俄罗斯的程序设计师Igor Sysoev 所开发,为俄罗斯访问量第二的Rambler.ru 站点开发的,它已经在该站点运行超过四年多时间了,Igor 将源代码以类BSD许可证的形式发布。 自Nginx 发布四年来,Nginx 已经因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名了。Nginx 超越Apache的高性能和稳定性,使得国内使用Nginx 作为Web 服务器的网站也越来越多。 目前国内各大门户网站已经部署了Nginx,如新浪、网易、腾讯等;新近发现Nginx 技术在国内日趋火热,越来越多的网站开始应用部署Nginx。 一、首先去官网下载nginx1.0.11的Windows版本,官网下载: https://www.doczj.com/doc/de16295814.html,/download/nginx-1.0.11.zip 下载到软件包后,解压nginx-nginx1.0.11.zip 包到你喜欢的根目录,并将目录名改为nginx。 然后,执行下列操作: cd nginx start nginx 这样,nginx 服务就启动了。打开任务管理器,查看nginx.exe 进程,有二个进程会显示,占用系统资源,那是相当的少。然后再打开浏览器,输入http://127.0.0.1/就可以看到nginx 的欢迎页面了,非常友好 nginx -s stop // 停止nginx nginx -s reload // 重新加载配置文件 nginx -s quit // 退出nginx 二、接下来就是配置nginx的conf文件了。下面是我的配置: #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; linux下Nginx+tomcat整合的安装与配置 目的:搭建Nginx与tomcat整合,用Nginx代替apache 步骤: 一、安装Tomcat和JDK 1、上传apache-tomcat-6.0.18.tar.gz和jdk-6u12-linux-i586.bin至/usr/local 2、执行如下命令安装tomcat: 查看 打印? 1. 2.#cd /usr/local 3.#tar zxvf apache-tomcat-6.0.18.tar.gz 解压完成后将apache-tomcat-6.0.18重命名为tomcat 3、执行如下命令安装JDK: 查看 打印? 1. 2.#./jdk-6u12-linux-i586.bin 4、配置环境变量: 编辑/etc下的profile文件,加上如下内容: 查看 打印? 1. 2.JAVA_HOME="/usr/local/jdk1.6.0_12" 3.CLASS_PATH="$JAVA_HOME/lib:$JAVA_HOME/jre/lib" 4.PATH=".:$PATH:$JAVA_HOME/bin " 5. 6.CATALINA_HOME="/usr/local/tomcat" 7.export JAVA_HOME CATALINA_HOME 5、启动tomcat并输入http://localhost:8080,如果看到猫的页面即tomcat和jdk安装成功 6、新建文件目录/home/www为网站存放目录,设置server.xml文件,在Host name="localhost"处将appBase=的指向路径改为/home/www/web nginx-1.0.15负载均衡安装配置 OS:ubuntu 1、取得软件 pcre-8.30.zip nginx-1.0.15.tar.gz apt-get install gcclibpcre*zlib 2、安装rewrite的支持库pcre unzip pcre-8.30.zip cd pcre-8.30 ./configure make make install 3、配置nginx.conf cat /usr/local/nginx/conf/nginx.conf | grep -Ev '(#|^$)' worker_processes 1; events { worker_connections 1024; } http { includemime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream https://www.doczj.com/doc/de16295814.html, { server 10.0.0.252:8080; server 10.0.0.253:8080; server 10.0.0.105:8080; } server { listen 80; server_name https://www.doczj.com/doc/de16295814.html,; location ~ ^/$ { rewrite ^/(.*) /jboss/ break; proxy_pass https://www.doczj.com/doc/de16295814.html,; } } } 4、启动nginx服务 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 【Nginx服务器的编译安装与配置】安装配置服务器失败 Nginx 是一个很强大的轻量级、高性能Web和反向代理服务器,由俄罗斯人开发而成。它具有很多非常优越的特性:在高连接并发的情况下,Nginx是Apache服务器不错的替代品。而且还可以作为负载均衡服务器,代码用C语言完成,运行效率非常高,还可以做邮件代理服务器。下面是小编跟大家分享的是Nginx服务器的编译安装与配置,欢迎大家来阅读学习~ Nginx服务器的编译安装与配置 工具/原料 Linux服务器或虚拟机一台(这里使用的CentOS6.5) Nginx源码包(这里使用1.44的版本,下载链接:H://pan.baidu/s/1qWoe2te 密码:fqji) 方法/步骤 1要编译安装Nginx,首先我们要安装依赖包pcre-devel 和zlib-devel: # yum install pcre-devel zlib-devel -y 程序默认是使用nobody 身份运行的,我们建议使用nginx 用户来运行,首先添加Nginx组和用户,不创建家目录,不允许登陆系统 # groupadd nginx # useradd -M -s /sbin/nologin -g nginx nginx 2准备工作完成后就是下载编译安装Nginx了,可以从我提供的网盘下载,也可以去Nginx的官网下载。 首先解压源码包: # tar xf nginx-1.4.4.tar.gz 然后cd 到解压后的目录就可以执行./configure 了 # cd nginx-1.4.4 指定安装目录和运行时用的属主和属组,并启用状态监控模块等 # ./configure \ --prefix=/usr/local/nginx \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --user=nginx \ --group=nginx \ --with-H_ssl_module \ --with-H_flv_module \ 注: 在配置时,建议使用非root用户配置,本文档以【用户密码:nginx/nginx】【目录:/nginx】为例进行说明 文档中执行命令为蓝色字体;配置文件为粉色字体;重点标记为红色字体 1.单机部署 1.1.准备 上传【1.1 nginx部署介质.zip】包到安装目录/nginx,执行解压得到soft目录 unzip 1.1\nginx部署介质.zip 1.2.安装 1.2.1.解压依赖库 cd /nginx/soft &&tar -zxvf pcre-8.35.tar.gz&&tar -zxvf zlib-1.2.8.tar.gz&&tar -zxvf openssl-1.0.1c.tar.gz 1.2.2.安装nginx cd /nginx/soft&&tar -xvfnginx-1.11.5.tar.gz&&cd nginx-1.11.5&&./configure --prefix=/nginx/nginx--with-pcre=/nginx/soft/pcre-8.35 --with-zlib=/nginx/soft/zlib-1.2.8 --with-openssl=/nginx/soft/openssl-1.0.1c&&make&&make install 安装之后soft目录不能删除! 1.2.3.验证 进入/nginx/nginx,出现以下4个目录conf、html、logs、sbin 1.3.配置 1.3.1.修改配置nginx.conf文件 cd/nginx/nginx/conf vi nginx.conf 删除原来所有内容,使用以下内容,或者复制soft下面nginx.conf至此目录,然后进行修改 https://www.doczj.com/doc/de16295814.html,+Mvc+NGinx+IIS分布式部署和负载平衡实例图解 目的:在IIS中创建四个相同的网站,浏览器访问同一个地址,通过NGinx转到不同的IIS 网站。 测试条件: Windows 7 X64旗舰版+Visual Studio 2017专业版 1、创建https://www.doczj.com/doc/de16295814.html, +Mvc WebApplication 在VS运行后的页面效果如下: 2、发布网站 3、IIS中部署四个网站 创建三个应用程序池,端口分别为: 8001、8002、8003,8004分别对应四个网站。 为区分三个网站,把Index.cshtml文件中的“Nginx测试程序”这行字分别改为:Nginx测试程序--------1 Nginx测试程序--------2 Nginx测试程序--------3 Nginx测试程序--------4 如下图: 部署四个网站后,打开页面效果如下: 到此,说明四个网站部署后单独访问都没有问题。下面开始部署NGInx的负载平衡。 4、NGInx的安装 4.1、下载nginx-1.1 5.1 下载后解压到D:\nginx文件夹,解压后的文件夹如下: 4.2、修改配置文件nginx.conf nginx.conf文件位于D:\nginx\conf目录下,nginx.conf默认内容如下。用记事本打开文件,nginx.conf文件的内容如下: #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 1.安装nginx 1.解压安装包 分别解压nginx,pcre,openss,nginx-rtmp-module,nginx_mod_h264_streaming到/root/work/nginx_download目录下,进入nginx解压后的目录nginx-1.6.2 2.安装nginx ./configure\ --prefix=/root/work/nginx_download/nginx\ --with-pcre=../pcre-8.36\ --with-http_stub_status_module\ --with-http_ssl_module\ --add-module=../nginx_mod_h264_streaming-2.2.7\ --add-module=../nginx-rtmp-module-master\ --with-debug --with-openssl=../openssl-1.0.1 j make && make install 安装成功后,/root/work/nginx_download/nginx\下会有相关软件生成 出错解决方法:https://www.doczj.com/doc/de16295814.html,/vblittleboy/article/details/40616405 3.配置nginx 请将文件安装包\nginx\配置文件\nginx_rtmp.conf 拷贝到nginx/conf下 4.启动nginx ./sbin/nginx -c conf/nginx_rtmp.conf 正常运行后,可以发现有三个nginx进程 5.推流 利用ffmpeg可以将视频文件已rtmp格式推送到nginx服务器中。 推送流命令如下:./ffmpeg -re -i 7.mp4 -c copy -f flv rtmp://192.168.1.102/hls/1 6.观看效果 在/tmp/app下存在切片生成的ts流,通过hls协议就可以以点播的形式实现直播技术。 可以在pc上以及安卓系统中通过rtmp协议观看。 也可以在ios系统上通过hls协议观看。 相比,hls协议观看延迟要大些,大概延迟在1分钟左右。 Linux下环境部署 1、安装linux工具 为了方便地上传文件和操作linux服务器,我们在自己机器上安装以下两个工具: ,这两个安装程序在此手册同一目录的“附件”文件夹下。安装SecureCRT_5.1.3的时候要输入序列号等信息,这个在压缩包里面有说明。 安装好了之后,我们可以看到它们两个界面分别如下图所示: 1.1 SecureCRT_5.1.3的使用 我们打开程序SecureCRT_5.1.3,点击图片中所标的“快速连接”,在弹出的界面输入linux服务器的用户名以及端口号(默认 是22,具体看服务器情况),如下图所示: 点“连接”按钮,这样会弹出一个框,要求输入密码,如下图所示: 密码输入成功之后,界面会变成下图这样: 这样就能在此界面下输入linux命令操作linux服务器了。 1.2 FileZilla 上传文件到linux服务器 在新安装的linux服务器下,是没有ftp可用的,所以在此之前我们可以通过vsftp来进行文件上传到linux服务器下。 上传步骤如下:打开FileZilla程序,在界面上输入主机ip,root用户名,密码,端口号这里一般是22,如下图所示: 然后点击右侧的“快速连接”,这样在用户名和密码无误的情况下就能连接到linux服务器下了,下图是连接成功后的界面: 传”就能把文件传到linux服务器上,如下图所示: 2、tomcat的部署 tomcat的部署包括以下几个步骤: 1、上传tomcat程序 2、上传jdk 3、增加一个linux用户用来启动tomcat 4、配置jdk环境变量 5、设置tomcat以及jdk的权限 2.1 增加一个jwztcms账号 在SecureCRT_5.1.3命令行下,并且当前登入账号是root时,输入命令“adduser jwztcms”,然后回车。这样就增加了一个名为jwztcms的账号。我们可以看到,这个时候,在/home目录下,会多了一个名为jwztcms的文件夹。如下图所示: 2.2 如何修改账号密码 在当前登入账号是root时,输入命令“passwd jwztcms”然后回车,系统会让你两次输入密码,修改成功后会有“passwd: all authentication tokens updated successfully”这样的提示。 2.3如何修改账号在linux上的默认文件夹 windows下nginx安装、配置与使用 1)下载地址: 从nginx官网下载相应的安装包https://www.doczj.com/doc/de16295814.html, 2)启动 解压至c:\nginx,运行nginx.exe(即nginx -c conf\nginx.conf),默认使用80端口,日志见文件夹C:\nginx\logs 3)使用 http://localhost 4)关闭 nginx -s stop 或taskkill /F /IM nginx.exe > nul 5)常用配置 C:\nginx\conf\nginx.conf,使用自己定义的conf文件如my.conf,命令为nginx -c conf\my.conf 常用配置如下: Nginx.conf代码 http { server { #1.侦听80端口 listen 80; location / { # 2. 默认主页目录在nginx安装目录的html子目录。 root html; index index.html index.htm; # 3. 没有索引页时,罗列文件和子目录 autoindex on; autoindex_exact_size on; autoindex_localtime on; } # 4.指定虚拟目录 location /tshirt { alias D:\programs\Apache2\htdocs\tshirt; index index.html index.htm; } } # 5.虚拟主机https://www.doczj.com/doc/de16295814.html,配置 server { listen 80; server_name https://www.doczj.com/doc/de16295814.html,; access_log https://www.doczj.com/doc/de16295814.html,/logs/access.log; location / { Nginx安装及简单配置反向代理一.环境 VMware: Redhat(Server_A 部署nginx文件服务页面) WinServer(Server_B 部署IIS) Redhat(nginx代理服务器) 源码包: nginx-1.5.3.tar.gz openssl-1.0.1c.tar.gz (提供ssl加密协议) pcre-8.33.tar.gz (http rewrite模块:地址重写) zlib-1.2.8.tar.gz (gzip模块,传输数据打包)拓扑结构: 二.安装 1.安装基础编译环境 yum install -y gcc gcc-c++ make 2.安装 2.1解压 cd /tmp/soft/ tar xzfv nginx-1.5.3.tar.gz cd .. tar xzfv openssl-1.0.1c.tar.gz cd .. tar xzfv pcre-8.33.tar.gz cd .. tar xzfv zlib-1.2.8.tar.gz 2.2安装依赖 cd/tmp/soft/pcre-8.33 ./configure make&&make install cd/tmp/soft/zlib-1.2.8 ./configure make&&make install cd/tmp/soft/openssl-1.0.1c ./configure make&&make install 2.3安装nginx cd/tmp/soft/nginx-1.5.3 ./configure --prefix=/home/nginx --with-http_stub_status _module --with-http_ssl_module ./configure –help #查看配置概述 make&&make install 3.yum安装依赖包: 一、Nginx概述 Nginx是一个高性能的HTTP和反向代理服务器,也是一个 IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。本文档中Nginx版本:nginx-1.10.2 二、Nginx安装准备 2.1关闭防火墙 用root用户登录Liunx系统关闭防火墙,关闭防火墙的作用在于防火墙阻挡网络的端口访问,照成网络访问不正常。 #service iptables stop #chkconfig --level 345 iptables off 关闭selinux命令: #setenforce 0 2.2创建Nginx用户 创建nginx运行的用户和组 #groupadd nginx #useradd -g nginx nginx #passwd nginx 改变程序目录属主属性,赋权给nginx用户 #chown -hR nginx:nginx /home/nginx 三、Nginx依赖包安装 2.1安装gcc 用root登录名上传Linux系统镜像文件到目录/home/nginx路径,输入命令进入到nginx用户的目录: #cd/home/nginx 输入命令查看所有文件,确保镜像文件已上传。: #ls –n 输入命令挂在镜像文件。注意修改镜像文件名称。 #mount -o loop /home/nginx/rhel-server-6.8-x86_64-dvd.iso /mnt 输入命令进入到已挂载的镜像文件目录中: #cd /mnt/Packages 输入命令查看所有软件包的.rpm安装包列表: #ls 通过nginx+uwsgi部署django应用在ubuntu 安装python3-pip Sudo apt-get install python3-pip 安装虚拟环境和虚拟环境管理包 Sudo pip3 install virtualenv (报错的话需要把pip也安装一下) Sudo pip3 virtualenvwrapper 在~/.bashrc 添加 /home/liunx/.virtualenvs/mybaby/bin/python3 export WORKON_HOME=~/Envs source /usr/local/bin/virtualenvwrap per.sh source .bashrc 创建虚拟环境:mkvirtualenv EduOnline –p /usr /bin/python3 虚拟环境当中安装项目所依赖的包(mysqlclient会出一个问题,需要首先安装下面这个包) 我们可以通过 pip freeze > requirements.txt 将win dows的虚拟环境安装包相应信息导出来移动到ubuntu Pip3 install -r requirements.txt 在安装过程中my sqlclient会报错,按照下面两步走 sudo apt-get install libmysqlclient-dev pip install mysqlclient 数据库: Sudo apt-get install mysql-server 进入数据库创建自己的账户并且分配所有的权限,并且刷新权限,在配置文件当中bind 0.0.0.0 在ubuntu 当中创建我们用的数据库 eduonline,通 过windows的Navicat将windows数据库中的数据 传输到ubuntu当中 将我们的项目文件夹拖入到我们的虚拟环境当中,进入项目python manage.py runserver保证能拉起项目 Nginx负载均衡的详细配置及使用案例详解. 技术无止境, 我们仍需努力! 1,话不多说, 这里我们来说下很重要的负载均衡, 那么什么是负载均衡呢? 由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法承担。在此情况下,如果扔掉现有设备去做大量的硬件升级,这样将造成现有资源的浪费,而且如果再面临下一次业务量的提升时,这又将导致再一次硬件升级的高额成本投入,甚至性能再卓越的设备也不能满足当前业务量增长的需求。 针对此情况而衍生出来的一种廉价有效透明的方法以扩展现有网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性的技术就是负载均衡(Load Balance)。 2, 负载均衡的种类 1)一种是通过硬件来进行解决,常见的硬件有NetScaler、F5、Radware 和Array等商用的负载均衡器,但是它们是比较昂贵的 2)一种是通过软件来进行解决的,常见的软件有LVS、Nginx、apache 等,它们是基于Linux系统并且开源的负载均衡策略. 3, 这里我们只来说Nginx(其他的大家有兴趣可以自行查阅相关文档) Nginx(发音同engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev(伊戈尔·西索夫)所开发,供俄国大型的入口网站及搜索引擎Rambler(漫步者)(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:新浪、网易、腾讯等。 优点: 1:可运行linux,并有 Windows 移植版。 2:在高连接并发的情况下,Nginx是Apache服务器不错的替代品Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一。能够支持高达50,000 个并发连接数的响应 4, 创建两台Nginx服务器 由于自己在自己电脑上搭建, 所以现在只模拟搭建两台Nginx服务器. 负载均衡的功能: 转发 故障移除 Nginx1.8安装配置 1.创建www用户和用户组 groupadd www useradd -s /sbin/nologin -g www www 2.安装pcre软件包 tar zxvf pcre-8.12.tar.gz -C /usr/src/ cd /usr/src/pcre-8.12/ ./configure && make && make install ldconfig 3.解压、配置、编译、安装nginx [root@localhost opt]# tar -zxvf nginx-1.8.0.tar.gz [root@localhost opt]# cd nginx-1.8.0 [root@localhost nginx-1.8.0]#./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_realip_module --with-http_gzip_static_module --with-pcre 这一步安装了2个包 yum -y install pcre-devel yum install -y zlib-devel [root@localhost nginx-1.8.0]# make && make install 6.编辑nginx.conf配置文件 vim /usr/local/nginx/conf/nginx.conf 文件详见附件。 7.创建目录并修改权限 注:html文件可以作为nginx缓存的根路径。可根据实际情况修改。mkdir -p /home/www/log mkdir -p /home/www/pid mkdir -p /home/www/html chown -R www:www /home/www/log chown -R www:www /home/www/pid chown -R www:www /home/www/html chown -R www:www /usr/local/nginx 8.测试启动nginx服务 ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx nginx -t nginx -c /usr/local/nginx/conf/nginx.conf ps -aux | grep nginx netstat -anptu | grep 80 9.编写nginx启动脚本 vim /etc/init.d/nginx 文件详见附件 10.添加nginx系统服务 chmod a+x /etc/init.d/nginx chkconfig --add nginx chkconfig --level 2345 nginx on chkconfig --list | grep nginx 安装 在Linux 下安装Nginx 为了确保能在Nginx 中使用正则表达式进行更灵活的配置,安装之前需要确定系统是否安装有PCRE(Perl Compatible Regular Expressions)包。您可以到ftp://https://www.doczj.com/doc/de16295814.html,/pub/software/programming/pcre/ 下载最新的PCRE 源码包,使用下面命令下载编译和安装PCRE 包: # wget ftp://https://www.doczj.com/doc/de16295814.html,/pub/soft ... cre/pcre-7.7.tar.gz # tar zxvf pcre-7.7.tar.gz # cd pcre-7.7 # ./configure # make # make install 接下来安装Nginx,Nginx 一般有两个版本,分别是稳定版和开发版,您可以根据您的目的来选择这两个版本的其中一个,下面是把Nginx 安装到/opt/nginx 目录下的详细步骤: http://sysoev.ru/nginx/nginx-0.7.61.tar.gz # wget http://sysoev.ru/nginx/nginx-0.6.31.tar.gz # tar zxvf nginx-0.6.31.tar.gz # cd nginx-0.6.31 # ./configure --with-http_stub_status_module --prefix=/opt/nginx # make # make install 其中参数--with-http_stub_status_module 是为了启用nginx 的NginxStatus 功能,用来监控Nginx 的当前状态。 安装成功后/opt/nginx 目录下有四个子目录分别是:conf、html、logs、sbin 。其中Nginx 的配置文件存放于conf/nginx.conf,Nginx 只有一个程序文件位于sbin 目录下的nginx 文件。确保系统的80端口没被其他程序占用,运行sbin/nginx 命令来启动Nginx,打开浏览器访问此机器的IP,如果浏览器出现Welcome to nginx! 则表示Nginx 已经安装并运行成功。 常用的Nginx 参数和控制 程序运行参数 Nginx 安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对Nginx 进程本身进行控制的。Nginx 的参数包括有如下几个:-c Tomcat 安装:在cathout.sh 里配置好jdk路径 然后chmod 777 startup.sh shutdown.sh cathout.sh 最后./startup.sh 简介:Nginx是一个web服务器也可以用来做负载均衡及反向代理使用,目前使用最多的就是负载均衡 一、浏览器访问路径:http://192.168.12.11/、http://192.168.12.10/ 12.11安装路径:/usr/local/nginx 12.10安装路径:/usr/local/nginx 二、常用命令: 启动:/usr/local/nginx/sbin/nginx 停止/重新加载:/usr/local/nginx/sbin/nginx -s stop(quit、reload) 验证配置文件是否合法:/usr/local/nginx/sbin/nginx -t 命令帮助:/usr/local/nginx/sbin/nginx -h 三、安装步骤: (1)下载Nginx及相关组件 [root@localhost src] # wget https://www.doczj.com/doc/de16295814.html,/download/nginx-1.10.2.tar.gz 省略安装内容... [root@localhost src] # wget https://www.doczj.com/doc/de16295814.html,/source/openssl-fips-2.0.10.tar.gz 省略安装内容... [root@localhost src]# wget https://www.doczj.com/doc/de16295814.html,/zlib-1.2.11.tar.gz 省略安装内容... [root@localhost src] # wget ftp://https://www.doczj.com/doc/de16295814.html,/pub/software/programming/pcre/pcre-8.40.tar. gz 省略安装内容... (2)安装c++编译环境,如已安装可略过 [root@localhost src]# yum install gcc-c++ 省略安装内容...期间会有确认提示输入y回车 Is this ok [y/N]:y 省略安装内容... (3)安装Nginx及相关组件:依赖包安装顺序依次为:openssl、zlib、pcre, 然后安装Nginx包 openssl安装: [root@localhost src]# tar zxvf openssl-fips-2.0.10.tar.gz 省略安装内容... [root@localhost src]# cd openssl-fips-2.0.10 [root@localhost openssl-fips-2.0.10]# ./config && make && make install 省略安装内容... Linux6.2下 所需软件包: Gcc,make,glib pcre-8.32.zip nginx-1.3.10.tar.gz httpd-2.2.9.tar.gz 配置域名: 解压所需软件包,编译: unzip pcre-8.32.zip cd pcre-8.32 ./configure Make&&make install tarzxvf nginx-1.3.10.tar.gz cd nginx-1.3.10 ./configure --with-http_stub_status_module --prefix=/opt/nginx Make&&make install ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ ls -l /usr/local/sbin/nginx 安装apache源码包httpd-2.2.9.tar.gz,启动apache服务. 创建所需访问网页根目录以及访问文件: mkdir -p /web/www/baidu/htdocs mkdir -p /web/www/sina/htdocs echo "https://www.doczj.com/doc/de16295814.html," > /web/www/baidu/htdocs/index.html echo "https://www.doczj.com/doc/de16295814.html," > /web/www/sina/htdocs/index.html 查找libpcre.so.l文件: 进入/etc/ld.so.conf目录下,修改配置文件: 输入ldconfig重新加载. 进入nginx主配置文件. 在97行左右下输入配置文件: server { listen 80; server_name https://www.doczj.com/doc/de16295814.html,; charset utf-8; #access_log logs/baidu.access.log main; location / { root /web/www/baidu/htdocs; index index.html index.htm; } } server { listen 80; server_name https://www.doczj.com/doc/de16295814.html,; charset utf-8; #access_log logs/sina.access.log main; location / { root /web/www/sina/htdocs; index index.html index.htm; } } 高性能Web服务器Nginx的配置与部署研究 (1)Nginx中的Rewrite写法小记 实现https://www.doczj.com/doc/de16295814.html,/abc得到https://www.doczj.com/doc/de16295814.html,/abc 在server中添加一段代码: view plaincopy to clipboardprint? 1. location ^~ /hd 2. { 3. rewrite ^/hd/(.*)$ https://www.doczj.com/doc/de16295814.html,/$1 permanent; 4. } 实现https://www.doczj.com/doc/de16295814.html,/msg?url=https://www.doczj.com/doc/de16295814.html,得到https://www.doczj.com/doc/de16295814.html, 注意问号。 view plaincopy to clipboardprint? 1. location ^~ /img_proxy 2. { 3. set $img_proxy_url ""; 4. set $suffix ""; 5. if ($query_string ~ "url=(.*)") 6. { 7. set $img_proxy_url $1; 8. set $suffix ""; 9. } 10. resolver 208.67.222.222; 11. proxy_pass http://$img_proxy_url/$suffix; 12. proxy_set_header referer "http://$img_proxy_url"; 13. } 4)常用Nginx命令 1. 启动Nginx view plaincopy to clipboardprint? 1. sudo ./sbin/nginx 2. 停止Nginx view plaincopy to clipboardprint? 1. sudo ./sbin/nginx -s stop 2. sudo ./sbin/nginx -s quit 3. Nginx重载配置 view plaincopy to clipboardprint? 1. sudo ./sbin/nginx -s reload 或者: view plaincopy to clipboardprint? 1. service nginx reload 4. 指定Nginx配置文件 view plaincopy to clipboardprint? 1. sudo ./sbin/nginx -c /usr/local/nginx/conf/nginx.conf Ubuntu中Nginx服务器安装配置教程 Nginx是一个非常轻量级的HTTP服务器,也是一个高性能的HTTP和反向代理服务器,同时还是一个IMAP/POP3/SMTP 代理服务器。 1.对PHP支持 目前各种web 服务器对PHP的支持一共有三种: (1)通过web 服务器内置的模块来实现,例如Apache的mod_php5,类似的Apache内置的mod_perl可以对perl支持。 (2)通过CGI来实现,这个就好比之前perl的CGI,该种方式的缺点是性能差,因为每次服务器遇到这些脚本都需要重新启动脚本解析器来执行脚本然后将结果返回给服务器;另一方面就是不太安全;该方面几乎很少使用了。 (3)最新出现一种叫做FastCGI。所谓FastCGI就是对CGI的改进。它一般采用C/S结构,一般脚本处理器会启动一个或者多个daemon进程,每次web 服务器遇到脚本的时候,直接交付给FastCGI的进程来执行,然后将得到的结果(通常为html)返回给浏览器。 1.1 Apache+mod_php模式 我们很久一段时间使用经典的Apache+mod_php。 Apache对PHP的支持是通过Apache的模块来支持的。如果从源代码编译安装PHP的话,如果希望Apache支持PHP的话, 在./configure步骤需要指定--with-apxs2=/usr/local/apache2/bin/apxs 表示告诉编译器通过Apache的mod_php5/apxs来提供 对PHP5的解析;而且在最后一步make install的时候我们会看到将动态链接库libphp5.so拷贝到apache2的安装目录的modules目录 下,并且还需要在httpd.conf配置文件中添加LoadModule语句来动态将libphp5.so 模块加载进来,从而实现Apache对php的支持。 1.2 Nginx+FastCGI模式 Nginx完全是轻量级的,必须借助第三方的FastCGI处理器才可以对PHP进行解析,因此其实这样看来Nginx是非常灵活的,它可以 和任何第三方提供解析的处理器实现连接从而实现对PHP的解析(在nginx.conf中很容易设置)。 Nginx可以使用spwan-fcgi。在早期版本中需要安装lighttpd,但是在9.10版本以后直接安装spawn-fcgi就可以。现在出现了新的 第三方的PHP的FastCGI处理器,叫做PHP-FPM,可以了解一下。本文是基于spawn-fcgi实现对PHP模块的支持。 1.3安装FastCGI /usr/bin/spawn-fcgi这个文件来管理FastCGI,它原属于lighttpd这个包里面,但9.10 后,spawn-fcgi 被分离出来单独成包。 (1)使用apt-get在线安装命令如下: $sudo apt-get install spawn-fcgi (2)源代码安装如下,下载地址为: /download/spawn-fcgi-1.6.3.tar.gz 解压缩以后,进入目录下执行如下安装命令: $./configure $makeWindows下Nginx的安装与配置
linux下Nginx+tomcat整合的安装与配置
Nginx-1.0.15负载均衡安装配置
【Nginx服务器的编译安装与配置】 安装配置服务器失败
1.1 nginx部署(单机)-手动安装
NGinx分布式部署测试实例图解
linux nginx搭建
linux环境部署(nginx)
windows下nginx安装、配置与使用
Nginx安装及简单配置反向代理
Linux下Nginx的安装与部署
项目上线nginx详细配置
Nginx负载均衡的详细配置及使用案例详解
nginx1.8安装配置及优化(修改版)
Nginx+pcre部署及配置步骤
nginx安装部署及路径
nginx服务器配置
高性能Web服务器Nginx的配置与部署
Ubuntu中Nginx服务器安装配置教程