linux非root用户安装nginx
先到官网http://nginx.org/en/download.html下载最新稳定版源码包,目前是1.16.1:

下完后通过rz上传至wlf用户soft目录下,退回上一级目录解压:
$ cd soft
$ rz -y
rz waiting to receive.
开始 zmodem 传输。 按 Ctrl+C 取消。
% KB KB/s :: Errors
$ cd ..
$ tar xzvf soft/nginx-1.16..tar.gz
在开始nginx检查前,我们还需要装两个依赖:pcre和zlib。
同上面流程,分别到ftp://ftp.pcre.org/pub/pcre/和http://www.zlib.net/下载pcre-8.43.zip(注意别下pcre2)和zlib-1.2.11.zip:


退出当前soft目录,分别解压安装:
$ cd ..
$ unzip soft/pcre-8.43
$ cd pcre-8.43
$ ./configure --prefix=/home/wlf/pcre
$ make && make install
$ cd ..
$ unzip soft/zlib-1.2.
$ cd zlib-1.2.
$ ./configure --prefix=/home/wlf/zlib
$ make && make install
两个依赖都装好后,可以开始正式的nginx编译前检查:
$ cd nginx-1.16./
$ ./configure --prefix=/home/wlf/nginx --with-http_stub_status_module --with-pcre=/home/wlf/pcre-8.43 --with-zlib=/home/wlf/zlib-1.2.11
其中参数http_stub_status_module是开启stub_status模块,它主要用于查看Nginx的一些状态信息。后面两个用来指定两个依赖的源码目录。检查结果:
Configuration summary
+ using PCRE library: /home/mgwh/pcre-8.43
+ OpenSSL library is not used
+ using zlib library: /home/mgwh/zlib-1.2. nginx path prefix: "/home/mgwh/nginx"
nginx binary file: "/home/mgwh/nginx/sbin/nginx"
nginx modules path: "/home/mgwh/nginx/modules"
nginx configuration prefix: "/home/mgwh/nginx/conf"
nginx configuration file: "/home/mgwh/nginx/conf/nginx.conf"
nginx pid file: "/home/mgwh/nginx/logs/nginx.pid"
nginx error log file: "/home/mgwh/nginx/logs/error.log"
nginx http access log file: "/home/mgwh/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"
检查ok,编译和安装一般没问题:
$ make && make install
启动nginx:
$ cd ~
$ cd nginx
$ sbin/nginx
nginx: [emerg] bind() to 0.0.0.0: failed (: Permission denied)
报错原因:在linux下,普通用户只能用1024以上的端口,而1024以内的端口只能由root用户才可以使用,所以这里80端口只能由root才能使用。
我们通过vi修改下配置文件conf/nginx.conf,将端口改成8787:
#gzip on;
server {
listen ;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
重新启动后发现nginx已经起好了:
$ netstat -nlp | grep
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0.0.0.0: 0.0.0.0:* LISTEN /nginx: master
linux非root用户安装nginx的更多相关文章
- linux 非root用户安装nginx
第一步:首先下载依赖包 下载地址 pcre(www.pcre.org),zlib(www.zlib.org),openssl(www.openssl.org) 第二步:上传那个nginx的安装包 下载 ...
- linux非root用户安装jdk1.8
如题,先到 Oracle 官方网站 下载1.8版本的 JDK 压缩包(jdk-8u221-linux-x64.tar.gz)到本地(如D盘的soft目录),然后开始进入linux的非root用户(如w ...
- 【tf.keras】Linux 非 root 用户安装 CUDA 和 cuDNN
TensorFlow 2.0 for Linux 使用时报错:(cuDNN 版本低了) E tensorflow/stream_executor/cuda/cuda_dnn.cc:319] Loade ...
- linux非root用户安装ncurses-devel依赖
很明显,如果我们通过yum或rpm下载安装,始终无法绕开root用户,除非我们不用yum或rpm.嗯,我们直接用源码安装.下载源码包,到http://ftp.gnu.org/gnu/ncurses/我 ...
- linux非root用户安装rabbitmq
因为rabbitmq是用erlang语言写的,所以装rabbitmq前第一步得先装erlang. 我们到erlang官网https://www.erlang.org/downloads下载安装包,最新 ...
- linux非root用户安装4.0.14版本redis
先到官网https://redis.io/download下安装包,现在最新是5.0.5版本,可惜点击下载后被windows禁了,那就下4版本的,往下看Other versions的Old(4.0), ...
- linux非root用户安装5.7.27版本mysql
先下安装包,到mysql官网https://dev.mysql.com/downloads/mysql/选好安装包版本.操作系统类型(默认是最新版本,点击右边链接Looking for previou ...
- Linux非root用户安装jdk和tomcat
转载自:http://blog.csdn.net/wuyigong111/article/details/17410661,进行部分修改 创建一个用户 sgmm,并在其用户目录里面安装 jdk和tom ...
- Linux 以非root用户安装zsh&配置on my zsh
此文章参考以下三篇文章,如有侵权请联系 Linux非root用户安装zsh, 并用oh-my-zsh进行配置 在没有sudo权限的Linux服务器下安装oh-my-zsh 不使用root权限安装zsh ...
随机推荐
- destoon模板存放调取规则
一.模板存放及调用规则 模板存放于系统 template 目录,template 目录下的一个目录例如 template/default/ 即为一套模板 模板文件以 .htm 为扩展名,可直 ...
- ubuntu14.04 部署nfs服务
安装nfs服务 apt-get install nfs-kernel-server 修改配置文件,共享目录为/var/www,*号可替换为客户端IP地址,*默认为任何部署了nfs客户端的IP可以挂载该 ...
- vue3 RFC初尝试
由于vue3.x还没有正式发布,所以可以通过安装包vue-function-api提前尝试 npm install vue-function-api --save main.js import Vue ...
- Linux cut 用法
cut是一个选取命令,就是将一段数据经过分析,取出我们想要的.一般来说,选取信息通常是针对"行"来进行分析的,并不是整篇信息分析的. )其语法格式为:cut [-bn] [fil ...
- go语言-从控制套获取用户输入
一.使用fmt.Scanln()--获取一行的输入 //案例:从控制台获取姓名,年龄,薪水,是否通过 package main import "fmt" func main() { ...
- 002——转载Excel2010分成两个或者多个独立窗口
在借鉴了很多个baidu方法之后,使用修改注册表之后我的Excel终于可以独立窗口出来了.转自:www.xuexila.com/excel/2010/2051008.html方法如下: 本操作需要修改 ...
- Mybatis 入门 (二)
1. Mapper配置文件处理特殊字符 用 > 和 &It; 代替 > 和 < 2. 延迟加载 单表查询性能比多表关联查询要高得多,即先查询单表,如果需要关联多表时再进行查询 ...
- web实现大文件上传分片上传断点续传
需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制. 第一步: 前端修改 由于项目使用的是 ...
- POJ 1927 Area in Triangle
Area in Triangle Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 1674 Accepted: 821 D ...
- python中string、json、bytes的转换
json->string str = json.dumps(jsonobj) bytes->string str = str(bytes,‘utf-8’) string->json ...