Nginx安装部署
Nginx ("engine x") 是一个高性能的轻量级的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx 安装
安装方式一:使用ubuntu 自带的软件源自动在线安装nginx
$sudo apt-get install nginx
Nginx的版本是1.2.1
ubuntu安装Nginx之后的文件结构大致为:
所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了/etc/nginx/sites-available下
启动程序文件在/usr/sbin/nginx
日志放在了/var/log/nginx中,分别是access.log和error.log
并已经在/etc/init.d/下创建了启动脚本nginx
默认的虚拟主机的目录设置在了/usr/share/nginx/www
安装方式二:源码安装1.下载nginx安装包
下载地址:http://nginx.org/download/
我这里下载的是 nginx-1.3.9.tar.gz
可以在ubuntu终端直接wget http://nginx.org/download/nginx-1.3.9.tar.gz 将软件包抓取到ubuntu系统,如果抓取失败,请确保虚拟机或者ubuntu系统是否正确联网
2. 安装过程:
2.1 $tar -xzvf nginx-1.3.9.tar.gz //解压安装包2.2 cd nginx-1.3.9 然后运行 ./configure
如果出现如下错误
说明ubuntu系统没有安装PCRE库,PCRE库是一个C版本的正则表达式库,NGINX会使用到里面的响应函数,所以需要安装PCRE库
2.3 安装PCRE库
2.3.1 下载PCRE库
主页地址:http://www.pcre.org/
下载 pcre-8.36.zip 可以通过wget命令抓取软件包
2.3.2 unzip pcre-8.36.zip //解压PCRE库
2.3.3 sudo ./configure
2.3.4 make
2.3.5 make install
到此PCRE库安装完成
备注:安装以上库需要优先安装g++和gcc编译器,可以通过
这两个命令确定是否安装了GCC和G++编译器,没有安装通告apt-get install gcc和apt-get install g++进行安装
2.4 回到nginx-1.3.9目录,运行./configure
如果出现如下错误,说明没有安装zlib库
2.5.1 此时需要安装zlib库
直接下载一个libssl-dev安装,这个包应该也可以解决openssl的问题
apt-get install libssl-dev
2.6 回到nginx-1.3.9目录,运行./configure 没有出现error说明依赖的配置模块都已经齐全
2.7 make
出现:make[1]:正在离开目录 `/home/lizhiming/study/c++/network/nginx/nginx-1.3.9'
说明编译成功
2.8 make install
安装成功之后,nginx放置在/usr/local/nginx目录下,主要的配置文件为conf目录下的nginx.conf,
nginx的启动文
3 nginx 启动
(1)在线安装的启动过程
$sudo /etc/init.d/nginx start
(2)源代码安装的启动过程
$cd /usr/local/nginx
$sbin/nginx
出现如下,启动了一个master进程和一个worker进程,说明启动成功
root 16246 1 0 12:35 ? 00:00:00 nginx: master process ./sbin/nginx
nobody 16247 16246 0 12:35 ? 00:00:00 nginx: worker process
root 16250 6162 0 12:35 pts/2 00:00:00 grep --color=auto nginx
然后就可以访问了,http://localhost/ , 一切正常!
如果启动失败:出现
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
即:listen 80改成listen 8090
nginx的配置安装到此结束,下一篇我们将介绍如何使nginx支持PHP和MYSQL