ubuntu 15.04 手动安装nginx 1.9.0
平时工作也用nginx,不过用的时候都是已经配好的,只要简单改改参数就可以了。今天在自己的电脑上安装的时候发现没有想象的那么顺利。
纸上得来终觉浅,绝知此事要躬行。
正题:
1、到nginx下载页面获取最新版本的包(截止发文日期,最新版本是nginx-1.9.0):
地址http://nginx.org/en/download.html,也可以在命令行下直接 wget http://nginx.org/download/nginx-1.9.0.tar.gz
2、解压tar -zxvf nginx-1.9.0.tar.gz,命令行进入解压目录运行:./configure
在安装过程可能会提示如下两个错误:
./configure: error: the HTTP rewrite module requires the PCRE library
./configure: error: the HTTP gzip module requires the zlib library.
解决方法如下:
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install zlib1g-dev
3、运行 make
4、运行 sudo make install
5、ok至此nginx安装完成。
6、下面进入目录/usr/local/nginx/ 运行./sbin/nginx。提示错误:
nginx: could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (13: Permission denied)
mkdir() "/usr/local/nginx/client_body_temp" failed (13: Permission denied)
ll命令查看是权限问题,再执行sudo ./sbin/nginx,没有报错。ps -ef | grep nginx看一下,有两个线程master process 和 worker process。跟官方文档描述的一致。
7、浏览器打开http://localhost,nginx welcome 如约而现。
8、不能每次启动都是用sudo,并且日志输出也会出问题,所以我们可以把nginx目录授权:
sudo chmod a+rwx -R logs
sudo chmod a+rwx -R /usr/local/nginx
再次运行发现依然报错:nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied),默认监听80端口,在网上查了后发现是这个原因导致的:http://serverfault.com/questions/84360/regular-user-using-ports-below-1024。
不想root运行的解决办法是修改监听端口为大于1024。
如果不用root运行只能修改iptable了,修改监听端口为大于1024的值,再映射到80端口。感觉别扭。那我直接就监听访问ip对应端口就好了,何必如此。。So,不考虑此种方法,有好方式感谢告知!!
另外网上也有说用setcap cap_net_bind_service、AuthBind的,都需要安装软件支持,与初衷不符合。So,pass。
PS:之前有通过ubuntu soft center安装nginx,并且有误删除操作的而导致无法重新安装nginx的情况,可以使用如下命令清除干净,再执行以上3-8步:
sudo apt-get remove --purge nginx-common
附上从官网爬来的文档:
http://download.csdn.net/detail/array7/8678095
参考资料:
1、http://stackoverflow.com/questions/18480201/ubuntu-nginx-emerg-bind-to-0-0-0-080-failed-13-permission-denied
2、http://peterwei.iteye.com/blog/969991
3、http://serverfault.com/questions/84360/regular-user-using-ports-below-1024
4、http://zhiwei.li/text/2012/01/%E9%9D%9Eroot%E7%94%A8%E6%88%B7%E8%BF%90%E8%A1%8C%E7%9A%84%E7%A8%8B%E5%BA%8F%E5%A6%82%E4%BD%95%E7%9B%91%E5%90%AC%E5%9C%A880%E4%BB%A5%E5%8F%8A%E5%85%B6%E4%BB%96%E7%89%B9%E6%9D%83%E7%AB%AF%E5%8F%A3/
版权声明:本文为博主原创文章,未经博主允许不得转载。
ubuntu 15.04 手动安装nginx 1.9.0的更多相关文章
- Ubuntu 16.04 LTS 安装 Nginx/PHP 5.6/MySQL 5.7 (LNMP) 与Laravel
Ubuntu 16.04 LTS 安装 Nginx/PHP 5.6/MySQL 5.7 (LNMP) 与Laravel 1.MySQL安装[安装 MariaDB]MariaDB是MySQL的一个分支首 ...
- ubuntu 15.04怎么安装QQ
ubuntu 15.04怎么安装QQ | 浏览:468 | 更新:2015-07-21 10:20 1 2 3 4 5 6 7 分步阅读 新装的ubuntu不能没有QQ,我们需要安装QQ来进行及时交流 ...
- 在ubuntu 15.04下安装VMware Tools
提出问题:在Ubuntu 15. 04版本上,不能实现剪贴板的共享 解决方法:发现没有装VMware Tools 安装VMware Tools步骤 1. 点击菜单栏,虚拟机 → 安装VMware工具 ...
- Ubuntu 15.04下安装Docker
最近听说Docker很火,不知道什么东西,只知道是一个容器,可以跨平台.闲来无事,我也来倒弄倒弄.本文主要介绍:Ubuntu下的安装,以及基本的入门命令介绍:我的机器是Ubuntu 15.04 64位 ...
- Ubuntu 18.04.1安装Nginx
一.安装Nginx所需的环境 Ubuntu可以通过apt源安装以下依赖库,CentOS可以通过yum安装 1.Nginx是C语言开发,需要gcc依赖库 先检查本机是否有gcc环境 gcc -v 如果没 ...
- 如何在Ubuntu 16.04上安装Nginx
原文链接https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-16-04 介绍 Nginx是世 ...
- ubuntu 15.04 的安装遇到的问题及其解决方法
在Ubuntu15.04 的安装(U盘)中 遇到的问题1:安装后设置电脑从U盘启动,启动失败,屏幕上显示:Failed to load ldlinux.c32 解决方法:当时是参考这篇文章 http: ...
- 如何在 Ubuntu 15.04 上安装带 JSON 支持的 SQLite 3.9
欢迎阅读我们关于SQLite 的文章,SQLite 是当今世界上使用最广泛的 SQL 数据库引擎,它基本不需要配置,不需要设置或管理就可以运行.SQLite 是一个是公开领域(public-domai ...
- 如何在Ubuntu 18.04上安装Nginx
Nginx功能之强大,想必大家比我更清楚. 百度百科:Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务.Nginx是由伊戈尔 ...
随机推荐
- UOJ#246. 【UER #7】套路
题目传送门 官方题解传送门 一句话题意的话就是给定一个序列,从中找出至少$k$个连续的元素形成子序列,使得子序列中任意两个元素差值的最小值于其长度-1的乘积最大. 题目中给出了$ 1 \leq a_i ...
- 十分钟入门less(翻译自:Learn lESS in 10 Minutes(or less))
十分钟入门less(翻译自:Learn lESS in 10 Minutes(or less)) 注:本文为翻译文章,因翻译水平有限,难免有缺漏不足之处,可查看原文. 我们知道写css代码是非常枯燥的 ...
- html代码规范
HTML代码规范 我们知道,前端工程师入门容易,通过学习基本的HTML和CSS就能在浏览器上看到实际的效果,可是要写好的HTML,就不是那么容易了.这里将和大家分享HTML规范,希望大家读完之后都 ...
- ionic的scroll的使用出现的问题
今天再写ionic的时候发现了一个问题,在使用ui-view的时候引用ion-scroll指令的时候初次加载的时候能能实现拖拽滚动,只能实现滚动鼠标滚轴滚动,然后各种调试,各种比较,终于发现原来是路由 ...
- uC/OS-II队列(OS_q)块
/*************************************************************************************************** ...
- js022-高级技巧
js022-高级技巧 本章内容: 使用高级函数 防篡改对象 Yielding Timers 22.1 高级函数 1.安全的类型检测 2.作用域安全的构造函数 构造函数实际上是一个使用new操作符调用的 ...
- Maven环境变量配置
Maven 3.0.4版本下载地址: http://www.apache.org/dyn/closer.cgi?path=/maven/binaries/apache-maven-3.0.4-bin. ...
- CSS 控制Html页面高度导致抖动问题的原因
CSS 控制Html页面高度导致抖动,这类由高度导致页面抖动的问题,其实究其根本原因是滚动条是否显示导致的 在CSS中添加如下代码: html,body{ overflow-y:scroll;} ht ...
- Http常用状态码
HTTP状态码(HTTP Status Code) 一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 所有状态解释:点击查看 1xx(临时响应 ...
- nginx配置文件详解( 看着好长,其实不长,看了就知道了,精心整理,有些配置也是没用到呢 )
user www www; #定义Nginx运行的用户和用户组 worker_processes ; #nginx进程数,建议设置为CPU核数2倍. error_log var/log/ ...