nginx学习(1):编译、安装、启动
一、下载
从官网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/ 如果出现以下图片:
恭喜,安装成功!
其它一些有用的启动参数:
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
- Java常用工具类之RegexpUtils,正则表达式工具类
- 短信接口发送验证码倒计时以及提交验证
- Java常用工具类之IO流工具类
- JFinal极速开发框架使用笔记
- JavaWeb项目之电话本,两个版本,以及总结反思
- 工作中问题记录
- Java导出数据生成Excel表格
- Layui常见问题
- layui动态设置下拉框数据,根据后台数据设置选中
- BCryptPasswordEncoder加密及判断密码是否相同
- 两个HTML,CSS布局实例
- cors解决Web跨域访问问题
- Java之集合初探(二)Iterator(迭代器),collections,打包/解包(装箱拆箱),泛型(Generic),comparable接口
- IIS中实现HTTPS的自动跳转
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- linux 进程数最大值修改方法
- Linux通过设备号找到设备的方法
- linux环境下安装 openOffice 并启动服务 的方法
- Linux下如何查杀stopped进程详解
- Linux文件服务器实战详解(匿名用户)
- ubuntu16.0.4 设置固定ip地址的方法
- Linux文件服务器实战详解(虚拟用户)
- Linux CentOS下安装Tomcat9及web项目的部署
- Linux文件服务器实战详解(系统用户)
- 关于bash函数你可能不知道的一些事情(译)
- Linux Centos7系统端口占用问题的解决方法
- Linux中利用sudo进行赋权的方法详解
- Centos7下用户登录失败N次后锁定用户禁止登陆的方法
- Linux服务器被黑以后的详细处理步骤
- linux下用户程序同内核通信详解(netlink机制)