zzw原创_非root用户下安装nginx
想自己安装nginx,又不相用到root用户。
非root用户下(本文为用户bdctool)来ngnix安装,要依赖pcre库、zlib库等,
1、 下载依赖包:下载地址 pcre(www.pcre.org),zlib(www.zlib.org),openssl(www.openssl.org)
2、不用依赖包,先安装一下试试
[bdctool@localhost setup]$ tar -zxvf nginx-1.12.2.tar.gz
[bdctool@localhost setup]$ ./configure --with-http_stub_status_module --prefix=/opt/aspire/product/bdctool/nginx
报错
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using
--without-http_rewrite_module
option, or install the PCRE library into the
system, or build the PCRE library
statically from the source with nginx by
using --with-pcre=<path> option.
3、还是安装一下pcre吧
[bdctool@localhost setup]$ unzip pcre-8.10.zip
[bdctool@localhost setup]$ cd pcre-8.10
[bdctool@localhost pcre-8.10]$ ./configure
--prefix=/opt/aspire/product/bdctool/nginx/zzw_other/pcre-8.10 (自定义目录)[bdctool@localhost pcre-8.10]$ make
[bdctool@localhost pcre-8.10]$ make install
4、再来安装nginx,首先./configure
[bdctool@localhost nginx-1.12.2]$./configure --with-http_stub_status_module
--prefix=/opt/aspire/product/bdctool/nginx
--with-pcre=/opt/aspire/product/bdctool/nginx/zzw_other/pcre-8.10注意:上面命令--prefix=路径为nginx想要安装到的目录, --with-pcre=路径为pcre安装到的目录。
.....................
checking for openat(),
fstatat() ... found
checking for getaddrinfo() ... found
checking for zlib
library ... found
creating objs/MakefileConfiguration summary
+ using PCRE library:
/opt/aspire/product/bdctool/nginx/zzw_other/pcre-8.10
+ OpenSSL library is not used
--- OpenSSL 可选
+ using system zlib library ---
其实是要依赖zlib包的,但系统已安装,所以没有额外安装,如果系统没安装,要自行如pcre一样安装一下,并且在configure时加
--with-zlib=(自行安装的zlib的目录)nginx path prefix:
"/opt/aspire/product/bdctool/nginx"
nginx binary file:
"/opt/aspire/product/bdctool/nginx/sbin/nginx"
nginx modules path:
"/opt/aspire/product/bdctool/nginx/modules"
nginx configuration prefix:
"/opt/aspire/product/bdctool/nginx/conf"
nginx configuration file:
"/opt/aspire/product/bdctool/nginx/conf/nginx.conf"
nginx pid file:
"/opt/aspire/product/bdctool/nginx/logs/nginx.pid"
nginx error log file:
"/opt/aspire/product/bdctool/nginx/logs/error.log"
nginx http access log
file: "/opt/aspire/product/bdctool/nginx/logs/access.log"
nginx http client
request body temporary files: "client_body_temp"
nginx http proxy temporary
files: "proxy_temp"
nginx http fastcgi temporary files: "fastcgi_temp"
nginx http uwsgi temporary files: "uwsgi_temp"
nginx http scgi temporary
files: "scgi_temp"没什么大问题
4、再进行make
[bdctool@localhost nginx-1.12.2]$ make
make -f
objs/Makefile
make[1]: Entering directory
`/opt/aspire/product/bdctool/setup/nginx-1.12.2'
cd
/opt/aspire/product/bdctool/nginx/zzw_other/pcre-8.10 \
&& if
[ -f Makefile ]; then make distclean; fi \
&& CC="cc"
CFLAGS="-O2 -fomit-frame-pointer -pipe " \
./configure
--disable-shared
/bin/sh: line 2: ./configure: 没有那个文件或目录
make[1]: ***
[/opt/aspire/product/bdctool/nginx/zzw_other/pcre-8.10/Makefile] 错误
127
make[1]: Leaving directory
`/opt/aspire/product/bdctool/setup/nginx-1.12.2'
make: *** [build] 错误
2
出问题了,make报错。
参考《http://www.cnblogs.com/yayagepei/articles/1884462.html》的解决方法
,原来是--with-pcre=让你设置到源码目录,而不是编译安装后的目录;同样的道理, --with-zlib=也是解压后的源码目录,而不是zlib编译安装后的目录!!!!。这点与apache的编译还有点不同。用./configure
-help 可以看配置参数帮助
5、修改
--with-pcre=后的路径为pcre的解压后的源路径,重新./configure
[bdctool@localhost nginx-1.12.2]$./configure --with-http_stub_status_module
--prefix=/opt/aspire/product/bdctool/nginx
--with-pcre=/opt/aspire/product/bdctool/setup/pcre-8.10
6、重新make
[bdctool@localhost nginx-1.12.2]$ make
成功了,没出问题
7、最后make install
[bdctool@localhost nginx-1.12.2]$ make
install
完成,没出问题
8、不改配置,试着启动一下
[bdctool@localhost sbin]$ ./nginx
nginx: [emerg]
bind() to 0.0.0.0:80 failed (13: Permission denied)启动不了的,因为非root用户启动不了1024以下端口,具体解决方法见 http://www.cnblogs.com/zzw-zyba/p/8575428.html
9、修改一下nginx.conf监听端口为1024以上端口,重新启动nginx,成功。
参考《http://www.runoob.com/linux/nginx-install-setup.html》
zzw原创_非root用户下安装nginx的更多相关文章
- zzw原创_非root用户启动apache的问题解决(非root用户启动apache的1024以下端口)
场景:普通用户编译的apache,要在该用户下启动1024端口以下的apache端口 1.假设普通用户为sims20,用该用户编译 安装了一个apache,安装路径为/opt/aspire/produ ...
- zzw原创_非root安装fastDFS
zzw原创_非root安装fastDFS fastDFS 想要非root安装,没找到资料,分析了一下安装脚本,原来作者是留了安装路径的,但没有放出来. 1.解包 [bdc@svr001 setup]$ ...
- linux非root用户下安装软件,搭建生产环境
之前的用实验室的服务器,因为某些原因,使用的用户没有root权限.linux的非root用户很多软件无法安装,非常的不方便.我的方法是使用brew来代替系统的包管理工具.brew是最先用在mac上的包 ...
- CentOS6非root用户下安装及配置CDH5.3.0
#install lsb packagesudo yum install -y redhat-lsb #install net-tools package sudo yum install -y ne ...
- Linux下非root用户如何安装软件
Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...
- [转载]Linux下非root用户如何安装软件
[转载]Linux下非root用户如何安装软件 来源:https://tlanyan.me/work-with-linux-without-root-permission/ 这是本人遇到的实际问题,之 ...
- ubuntu下非root用户下获得使用wireshark的权限
在非root用户下不能使用wireshark用来抓包,所以需要进行以下操作: sudo groupadd wireshark sudo chgrp wireshark /usr/bin/dumpcap ...
- 8、非root权限下安装perl以及perl模块
转载:http://www.cnblogs.com/nkwy2012/p/6418669.html 转载自http://www.zilhua.com 在本博客中,所有的软件安装都在服务器上,且无roo ...
- 非root模式下安装mysql php小记
假设你的home目录为/home/work mysql-server 安装 1. 下载mysql.tar.gz wget http://dev.mysql.com/get/Downloads/MySQ ...
随机推荐
- cookiejar
referer:https://www.cnblogs.com/why957/p/9297779.html文章介绍了四种模拟登陆方法 yield Request()可以将一个新的请求返回给爬虫执行 在 ...
- 配置nginx + keepalived 双主模式(双机互为主备)
- python 类的属性__slots__ (了解一点点)
当一个类需要创建大量实例时,可以通过__slots__声明实例所需要的属性, 优点: 1)更快的属性访问速度 2)减少内存消耗 3)限定一个类创建的实例只能有固定的实例属性(实例变量),不允许对象添加 ...
- Oarcle 之连接查询
连接查询:连接查询是关系数据库中最主要的查询,主要包括内连接.外连接和交叉连接等.通过连接运算符可以实现多个表查询.连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的 ...
- lnmp mysql远程访问设置
一:iptables 设置开放3306访问 iptables -L -n --line-numbers 1,删除DROP 3306 iptables -D INPUT 5[序列号] 2,添加 ACCE ...
- 单元测试系列之八:Sonar 数据库表关系整理一(续)
更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 简介:Sonar平台是目前较为流行的静态代码扫描平台,为了便于使用以及自己二次开发,有必要对它的数据库结构进行学习 ...
- 重新使用linux的一些事情
workstatin版基本上已经有了常用的那些功能了, 代码开发完全足够了, 不需要再去加什么东东了 httpd已经有了, 结构: /usr/lib: 库,放置的是 (操作)系统的静态库, 大多数是直 ...
- Axios Token验证拦截器
import axios from 'axios'; // req拦截 axios.interceptors.request.use( //设置头部的token config.headers['tok ...
- call 和 apply方法解析
ECAMScript 3给Function的原型定义了两个方法,它们是 `Function.prototype.call` 和 `Function. prototype.apply`.在实际开发中,特 ...
- memcached、cookie、session
Memcached(一个高性能的分布式的内存对象缓存系统) 可用来分担数据库的压力.通过在内存里维护一个统一的巨大的hash表,memcached能存储各种各样的数据,包括图像.视频.文件.以及数据库 ...