[nginx学习之道]linux的nginx安装
准备:首先要安装下一些gcc库用于编译 和一些nginx的扩展lib包:
[root@localhost nginx-1.8.]# yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre pcre-devel
1.首先去nginx的官网选择要安装的nginx版本并复制其下载的url,并在linux用wget进行下载,tar解压和进入安装的源码目录:
[root@localhost ~]# wget -c http://nginx.org/download/nginx-1.8.1.tar.gz && tar zxvf ./nginx-1.8.1.tar.gz && cd ./nginx-1.8.1
然后根据自己的情况以及./configure --help命令查看下一些主要的配置选项:然后进行配置make三部中的一部./configure
[root@localhost nginx-1.8.]# ./configure \
--prefix=/usr/local/nginx \
--sbin-path=/usr/local/nginx/sbin/ \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/tmp/nginx/cilent/ \
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/
遇到的一些问题:
问题1:(没有安装gcc)
checking for OS
+ Linux 3.10.-.el7.x86_64 x86_64
checking for C compiler ... not found ./configure: error: C compiler cc is not found
解决:
[root@localhost nginx-1.8.]# yum -y install gcc gcc-c++ autoconf automake
问题2:(没有安装一些库,因为在./configure中我用到了 例如ssl等等这个根据自己的实际需求进行安装)
./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.
解决:
[root@localhost nginx-1.8.]# yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
好接下来用make 去尝试编译下检测下是否有问题(很多时候我们习惯用 make && make install直接进编译安装,那是因为我在下面已经做了测试没有问题在搭建生产环境的时候为了节约时间才这样做的)
[root@localhost nginx-1.8.]# make
如果没有出现error的字眼就说明make检测没有问题。这时候运行make install就会很少有错误。
[root@localhost nginx-1.8.]# make install
Ok到此已经安装完成:
这个时候我尝试启动下:(根据我上面的./configure 的配置sbin-path是在/usr/local/nginx/sbin/nginx 我的默认配置文件在/usr/local/nginx/conf/nginx.conf)
[root@localhost nginx-1.8.]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nginx: [emerg] getpwnam("nginx") failed
上面错误提示我没有nginx这个用户和主:两种方式1.将nginx.conf中的user和group修改成已经存在的其他用户。不建议用root;2.创建我指定的用户和组命令如下:
[root@localhost nginx-1.8.]# /usr/sbin/groupadd -f nginx
[root@localhost nginx-1.8.]# /usr/sbin/useradd -g nginx nginx
在尝试启动还有错误提示:
[root@localhost nginx-1.8.]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nginx: [emerg] mkdir() "/var/tmp/nginx/cilent/" failed (: No such file or directory)
[root@localhost nginx-1.8.]# mkdir /var/tmp/nginx/cilent
mkdir: 无法创建目录"/var/tmp/nginx/cilent": 没有那个文件或目录
解决办法创建:
[root@localhost nginx-1.8.]# mkdir -p /var/tmp/nginx/cilent
然后启动:
[root@localhost nginx-1.8.]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
OK没有报错:确认是否启动可以用ps -ef | grep nginx去检索下(这里有个技巧,一般nginx的启动都是这种形式,如果你的linux服务器上有很多的nginx.conf这个命令可以帮你更快的锁定现在用的配置文件。)
[root@localhost nginx-1.8.1]# ps -ef | grep nginx
root 42388 1 0 15:58 ? 00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nginx 42389 42388 0 15:58 ? 00:00:00 nginx: worker process
root 42391 10803 0 15:58 pts/1 00:00:00 grep --color=auto nginx
解释下上面的参数 master process 是主进程的意思 pid是 42388 下面的是子进程。
ok这个进程我们其实还可以去一个文件中看到,对就是我们在./configure 的配置的pid文件:cat下这个文件会看到里面已经有了对应的pid号:
[root@localhost nginx-1.8.1]# cat /var/run/nginx/nginx.pid
42388
这个pid的作用可以让我们在操作nginx和方便:比如说重启 或者停止服务(kill) 或者平滑重启。
从容停止nginx:
kill - QUIT `/var/run/nginx/nginx.pid`
快速停止:
kill - TERM `/var/run/nginx/nginx.pid`
强制停止:
kill - `/var/run/nginx/nginx.pid`
以上都可以直接指定pid号例如
kill - QUIT
[nginx学习之道]linux的nginx安装的更多相关文章
- Nginx学习系列二Linux下Nginx实现负载均衡
关于在本地虚拟机(VMware 14)下安装Linux同时安装Nginx,请参考Nginx学习系列之搭建环境 1.启动Nginx 在Nginx安装成功的前提下,启动Nginx 已root模式登陆(权限 ...
- Linux学习心得之 Linux下ant安装与使用
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下ant安装与使用 1. 前言2. ant安装3. 简单的a ...
- nginx学习(一):基本安装
转载自http://summervast.blog.51cto.com/690507/385511 注意:可能因版本不同,个别指令不起作用,需要注意版本灵活安装,我在安装时也遇到过此问题 开始学习ng ...
- 【转】Nginx 学习笔记(十一)nginx下安装配置naxsi waf防火墙(附完整编译、配置)
原文地址:http://f2ex.cn/nginx-installed-configuration-naxsi-waf/ Naxsi 是第三方 nginx 模块 ,它和 Modsecurity 都是开 ...
- Nginx学习笔记(三)--- Nginx实现反向代理和配置负载均衡
1.反向代理 2.Nginx反向代理流程图 3.安装多个tomcat 3.1把tomcat的压缩包传到Linux上 3.2 解压tomcat 3.3 给压缩好的tomcat改个名字用来区分一下 3.4 ...
- Nginx学习笔记(三) Nginx基本数据结构
Nginx基本数据结构 话说学习一种编程语言,例如C语言,我们首先学的也是数据结构,这是以后开发程序的关键.为了更好更方便的开发Nginx,Nginx自己实现了很多适合nginx的数据结构. Ngin ...
- Nginx学习总结(5)——Nginx基本配置备忘
Nginx 配置 在了解具体的Nginx配置项之前我们需要对于Nginx配置文件的构成有所概念,一般来说,Nginx配置文件会由如下几个部分构成: # 全局块 ... # events块 events ...
- 学习鸟哥linux私房菜--安装centos5.6(u盘安装,中文乱码)
题头为"学习鸟哥Linux私房菜"的内容,均为博主在看鸟哥的Linux私房菜第三版的学习经历收获.以下正文: 鸟哥第一部分讲Linux规则与安装,看到第四章正式开始讲实际安装,于是 ...
- Nginx学习(1)--- 介绍与安装
1.基础介绍 常用功能 1.HTTP服务 动静分离.WEB缓存.虚拟主机设置.URL Rewrite 2.负载均衡 3.反向代理 4.正向代理 5.邮件服务器 优点 高扩展.高可用.支持高并发.低资源 ...
随机推荐
- hadoop2.6.2+hbase+zookeeper环境搭建
1.hadoop环境搭建,版本:2.6.2,参考:http://www.cnblogs.com/bookwed/p/5251393.html 启动服务:在master机器上,进入hadoop安装目录, ...
- monkeyrunner之测试结果判断(八)
monkeyrunner的功能脚本编写完成之后,我们就需要对结果进行判断,判断结果是否为我们预期的结果值.下面我们主要讲述2种方式判断结果. 方式一.monkeyrunner截图对比 这是monkey ...
- 【问题&解决】fonts/fontawesome-webfont.woff2 404 (Not Found)
问题: 虽然网页正常显示和运行,但是有2个字体文件出现404错误.像笔者这种强迫症是接受不了的. 解决: 因为笔者的服务器是虚拟主机,只需要在主机控制器平台添加对应的MIME类型即可. 这样服务器就支 ...
- Vijos P1196吃糖果游戏[组合游戏]
描述 Matrix67和Shadow正在做一个小游戏. 桌子上放着两堆糖果,Matrix67和Shadow轮流对这些糖果进行操作.在每一次操作中,操作者需要吃掉其中一堆糖果,并且把另一堆糖果分成两堆( ...
- 学习和研究下unity3d的四元数 Quaternion
学习和研究下unity3d的四元数 Quaternion 今天准备学习和研究下unity3d的四元数 Quaternion 四元数在电脑图形学中用于表示物体的旋转,在unity中由x,y,z,w 表示 ...
- GNU make使用变量⑤变量的引用、定义等
在 Makefile 中,变量是一个名字(像是 C 语言中的宏),代表一个文本字符串(变量的值).在 Makefile 的目标.依赖.命令中引用变量的地方,变量会被它的值所取代(与 C 语言中宏引用的 ...
- 各国货币M2增长对比
自2006至2016年的10年间, 卢布M2增长了3.8倍, 人民币M2增长了3.4倍, 美元M2增长1倍, 欧元/英镑M2增长0.8倍, 日元M2增长0.5倍
- linux解压包
1.命令格式:tar[必要参数][选择参数][文件] 2.命令功能:用来压缩和解压文件.tar本身不具有压缩功能.他是调用压缩功能实现的 3.命令参数:必要参数有如下:-A 新增压缩文件到已存在的压缩 ...
- jquery:validate的例子
该文档转载自 http://ideabean.javaeye.com/blog/363927 官方网站 http://bassistance.de/jquery-plugins/jquery-plug ...
- 使用Unity Container
Lab1.使用Unity Container Unity Container最主要的两个方法就是RegisterType和Resolve了,RegisterType用于注册类型的映射,而Resolve ...