点赞
评论
收藏
分享
举报
Nginx 一点一滴 01 - 安装运行
发表于2021-04-06 09:56

浏览 925

原文链接:https://segmentfault.com/a/1190000002997586

作者:Ganiks


GET THE CODE

ganiks ➜  nginx-1.8.0  wget http://nginx.org/download/nginx-1.8.0.tar.gz 
ganiks ➜  nginx-1.8.0  tar xzvf nginx-1.8.0.tar.gz
ganiks ➜  nginx-1.8.0  pwd
/home/ganiks/learn/nginx/nginx180_source/nginx_180_Compile/nginx-1.8.0

CONFIGURE

ganiks ➜  nginx-1.8.0  ./configure --prefix=~/home/ganiks/learn/nginx/Nginx
checking for OS
 + Linux 3.13.0-43-generic x86_64
checking for C compiler ... found
 + using GNU C compiler
 + gcc version: 4.8.2 (Ubuntu 4.8.2-19ubuntu1) 
checking for gcc -pipe switch ... found
checking for gcc builtin atomic operations ... found
bla bla bla ...
bla bla bla ...
bla bla bla ...
checking for sha1 in system OpenSSL crypto library ... found
checking for zlib library ... found
creating objs/Makefile 

Configuration summary  
  + using system PCRE library
  + OpenSSL library is not used
  + md5: using system crypto library
  + sha1: using system crypto library
  + using system zlib library

  nginx path prefix: "~/learn/nginx/Nginx"
  nginx binary file: "~/learn/nginx/Nginx/sbin/nginx"
  nginx configuration prefix: "~/learn/nginx/Nginx/conf"
  nginx configuration file: "~/learn/nginx/Nginx/conf/nginx.conf"
  nginx pid file: "~/learn/nginx/Nginx/logs/nginx.pid"
  nginx error log file: "~/learn/nginx/Nginx/logs/error.log"
  nginx http access log file: "~/learn/nginx/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"

MAKE && MAKE INSTALL

ganiks ➜  nginx-1.8.0  make && sudo make install

这时才发现上面的--prefix配置错误, 必须用绝对路径,不能用形如~符号

MAKE CLEAN

ganiks ➜  nginx-1.8.0  sudo rm -rf \~
ganiks ➜  nginx-1.8.0  make clean

卸载重装Nginx的正确姿势

CONFIGURE && INSTALL AGAIN

ganiks ➜  nginx-1.8.0  ./configure --prefix=/home/ganiks/learn/nginx/Nginx

  nginx path prefix: "/home/ganiks/learn/nginx/Nginx"
  nginx binary file: "/home/ganiks/learn/nginx/Nginx/sbin/nginx"
  nginx configuration prefix: "/home/ganiks/learn/nginx/Nginx/conf"
  nginx configuration file: "/home/ganiks/learn/nginx/Nginx/conf/nginx.conf"
  nginx pid file: "/home/ganiks/learn/nginx/Nginx/logs/nginx.pid"
  nginx error log file: "/home/ganiks/learn/nginx/Nginx/logs/error.log"
  nginx http access log file: "/home/ganiks/learn/nginx/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"

ganiks ➜  nginx-1.8.0  make; make install

ganiks ➜  nginx  tree Nginx
Nginx
├── conf
│   ├── fastcgi.conf
│   ├── fastcgi.conf.default
│   ├── fastcgi_params
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types
│   ├── mime.types.default
│   ├── nginx.conf
│   ├── nginx.conf.default
│   ├── scgi_params
│   ├── scgi_params.default
│   ├── uwsgi_params
│   ├── uwsgi_params.default
│   └── win-utf
├── html
│   ├── 50x.html
│   └── index.html
├── logs
└── sbin
    └── nginx

ganiks ➜  Nginx  pwd
/home/ganiks/learn/nginx/Nginx

VERSION

查看当前Nginx版本版本信息

ganiks ➜  Nginx  ./sbin/nginx -V
nginx version: nginx/1.8.0
built by gcc 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
configure arguments: --prefix=/home/ganiks/learn/nginx/Nginx

ganiks ➜  Nginx  ./sbin/nginx -V 2>&1 > some_file

这里要重定向才可以输出到文件哦

START NGINX

ganiks ➜  Nginx  ./sbin/nginx -p .
nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
ganiks ➜  Nginx  vim conf/nginx.conf && listen 8765
ganiks ➜  Nginx  ./sbin/nginx -p .  
ganiks ➜  Nginx  sudo ps -ef | grep nginx             
ganiks   21174     1  0 15:32 ?        00:00:00 nginx: master process ./sbin/nginx -p .
ganiks   21175 21174  0 15:32 ?        00:00:00 nginx: worker process
ganiks   21182 20842  0 15:32 pts/4    00:00:00 grep nginx


ganiks ➜  Nginx  ./sbin/nginx -t
nginx: the configuration file /home/ganiks/learn/nginx/Nginx/conf/nginx.conf syntax is ok
nginx: configuration file /home/ganiks/learn/nginx/Nginx/conf/nginx.conf test is successful
ganiks ➜  Nginx  ./sbin/nginx -s reload
ganiks ➜  Nginx  sudo ps -ef | grep nginx
ganiks   21174     1  0 15:32 ?        00:00:00 nginx: master process ./sbin/nginx -p .
ganiks   21290 21174  0 15:35 ?        00:00:00 nginx: worker process
ganiks   21294 20842  0 15:35 pts/4    00:00:00 grep nginx
ganiks ➜  Nginx  ./sbin/nginx -s reload   
ganiks ➜  Nginx  sudo ps -ef | grep nginx 
ganiks   21174     1  0 15:32 ?        00:00:00 nginx: master process ./sbin/nginx -p .
ganiks   21308 21174  0 15:35 ?        00:00:00 nginx: worker process
ganiks   21313 20842  0 15:35 pts/4    00:00:00 grep nginx

nginx reload 之后, worker 进程是重新创建了的

ganiks ➜  Nginx  cat logs/nginx.pid
21174

nginx.pid 里面保存的是nginx的主进程号

已修改于2023-03-08 02:22
创作不易,留下一份鼓励
阿尔巴

暂无个人介绍

关注



写下您的评论
发表评论
全部评论(1)

按点赞数排序

按时间排序

学习了

赞同

0

回复举报

发表于2021-04-09 11:08



回复张东明001
回复
关于作者
阿尔巴
这家伙很懒还未留下介绍~
12
文章
10
问答
11
粉丝
相关文章
2019年11月(似乎已是半个世纪前),我们宣布将命名空间隔离现在,让我们简单了解下依赖项module.php。假设我们有两个版本(并无花哨之处,只是表明两者之间的不同而已):现在,我们将应用的两个相同副本放置在/www/data/a/和/www/data/b/中,并应用以下配置:{"listeners":{"*:80":{"pass":"applications/ab_app"}},"applications":{"ab_app":{"type":"php","user":"www-data","script":"index.php","root":"/","isolation":{"rootfs":"/www/data/a/"}}}}请注意,应用的r
点赞 0
浏览 1k
Unit,已经出道好几年Unit是NGINX作者IgorSysoev亲自设计,NGINX团队核心人员开发的,首次开源发布于2017年。有着活跃的社区和专业的开发能力,我有幸成为其中正式一员。Changes with Unit 1.24.0   27 May 2021......Changes with Unit 0.1      06 Sep 2017*)Firstpublicrelease.Unit现代应用服务器软件结合此图看Unit,以下是它的核心功能。配置:完全动态,包括进程数、服务监听端口、证书等。路由:灵活并且强大的路由功能,它会成为微服务的杀器功能。语言:支持各种主流语言和版本,这对DevOps太友好了。文件:支持静态资源服务,并且更好用。代理:目前只有简单的轮循,成为完整的负载均衡只是时间问题。容器:目前拥有隔离功能,一直在挑战做容器的事情。NGINX,全球头号Web
点赞 1
浏览 1.8k
【版本更新】NGINX 主线版更新到 1.25.4,新版本修复了 HTTP/3 模块中的两个漏洞(CVE-2024-24989、CVE-2024-24990),此漏洞危害严重。访问 NGINX 中文官方开源社区(nginx.org.cn)了解详情。
点赞 1
浏览 1.6k