博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx学习(1):编译、安装、启动
阅读量:4261 次
发布时间:2019-05-26

本文共 2183 字,大约阅读时间需要 7 分钟。

一、下载

从官网http://nginx.org/en/download.html 下载稳定版(目前最新稳定版是1.6.2)

二、解压

tar zxf nginx-1.6.2.tar.gz

cd nginx-1.6.2

三、配置

./configure --prefix=/opt/app/nginx/1.6.2 --user=cargo

注:prefix指定安装目录,user指定运行nginx的用户身份

通常第一次并不会顺利成功,如果出现:

./configure: error: the HTTP rewrite module requires the PCRE library.

表示当前机器上没有PCRE包,可以手动安装:

sudo yum -y install pcre-devel

再次运行./configure --prefix=/opt/app/nginx/1.6.2 --user=cargo,又有新的错误:

./configure: error: the HTTP gzip module requires the zlib library.

类似的,手动安装zlib包

sudo yum -y install zlib-devel

继续重复刚才的./configure命名,如果出现:

./configure: error: the HTTP cache module requires md5 functions from OpenSSL library.

继续手动安装open-ssl

yum -y install openssl openssl-devel

一切ok后,接下来可以编译了

四、编译

make install

注:需要gcc环境,如果没有安装gcc,请先安装gcc,方法 yum -y install gcc

顺利的话,会在/opt/app/nginx/1.6.2路径下生成很多文件

五、启动

cd /opt/app/nginx/1.6.2/sbin

./nginx

如果出现:

nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)

多半是80端口被占用

cd /opt/app/nginx/1.6.2/conf

vi nginx.conf

找到下面的内容:

      server {

          listen       80;
          server_name  localhost;
 
          #charset koi8-r;

将80端口改成其它端口,比如7040(当然也可以把跟80冲突的进程给kill掉),然后再回到sbin目录,重复./nginx

正常的话,用ps -ef|grep nginx应该可以看到2个进程:

[cargo@vm-vmw1813-app sbin]$ ps -ef|grep nginx

cargo     4180     1  0 14:38 ?        00:00:00 nginx: master process ./nginx
cargo     4181  4180  0 14:38 ?        00:00:00 nginx: worker process

表示启动正常,可以用浏览器 访问 http://ip:7040/ 如果出现以下图片:

恭喜,安装成功!

其它一些有用的启动参数:

1
2
3
4
5
6
7
8
9
10
11
12
Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]
 
Options:
  
-?,-h         : this help
  
-
v           
: show version and
exit
  
-V            : show version and configure options
then
exit
  
-t            :
test
configuration and
exit
  
-q            : suppress non-error messages during configuration testing
  
-s signal     : send signal to a master process: stop, quit, reopen, reload
  
-p prefix     :
set
prefix path (default:
/usr/local/Cellar/nginx/1
.8.0/)
  
-c filename   :
set
configuration
file
(default:
/usr/local/etc/nginx/nginx
.conf)
  
-g directives :
set
global directives out of configuration
file

特别要提一下-V(大写),有时候不知道配置文件在哪,用这个参数就能查出来。  

 

六、卸载、停止服务

卸载只要把目录删除掉就行了,如果自己为了运维方便,做了其它启动的脚本,同步删除

停止服务,直接kill掉nginx进程最直接。

当然也可以 ./nginx -s stop

 

作者:
出处:
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
你可能感兴趣的文章
Android 安全攻防(一):SEAndroid的编译
查看>>
Android 安全攻防(二): SEAndroid bionic
查看>>
cuda如何做软连接切换
查看>>
小飞机的一些设置解释
查看>>
目标检测里正负样本和数据增广
查看>>
python和C++的交互方式
查看>>
ubuntu快捷键
查看>>
npaint (31M)-图片去水印等
查看>>
学英语以及中文快速阅读的启迪,从“为什么全世界只有中日两个国家弹幕视频网站成为流行?”说开去
查看>>
什么是人工神经网络
查看>>
神经网络的发展历史
查看>>
TED演讲:Jeff Hawkins.大脑的工作原理是什么
查看>>
所谓的语义信息
查看>>
Predictive learning vs. representation learning
查看>>
android SDK工具下载
查看>>
Hibernateday02表的唯一外键
查看>>
Hibernateday06 SQLQuery 和NameQuery
查看>>
Windows命令行提示
查看>>
梳理《前目的地》
查看>>
ArrayList底层实现
查看>>