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

 

时间: 2024-11-03 03:01:29

nginx学习(1):编译、安装、启动的相关文章

Centos下编译安装Nginx教程详解_nginx

一.安装nginx时必须先安装相应的编译工具 yum -y install gcc gcc-c++ autoconf automake yum -y install zlib zlib-devel openssl openssl-devel pcre-devel 建立nginx 组 groupadd -r nginx useradd -s /sbin/nologin -g nginx -r nginx id nginx zlib:nginx提供gzip模块,需要zlib库支持 openssl:n

CentOS 6.4系统下编译安装LNMP和配置PHP环境

  一.准备工作 上pkgs.org下载rmpforge.rpmforge是一个第三方yum源. 选择相应的版本下载安装. // 安装成功后,清空yum list 并 重新获取 [root@pangou Desktop]# yum clean all Loaded plugins: fastestmirror, refresh-packagekit, security Cleaning repos: base extras rpmforge updates Cleaning up Everyth

CentOS 7.0编译安装lnmp教程(Nginx1.6.0+MySQL5.6.19+PHP5.5.14)_Linux

准备篇: CentOS 7.0系统安装配置图解教程 http://www.jb51.net/os/188487.html 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptab

CentOS6.6 32位 Minimal版本纯编译安装Nginx Mysql PHP Memcached

声明:部分编译指令在博客编辑器里好像被处理了,如双横线变成单横线了等等,于是在本地生成了一个pdf版本,在下面地址可以下载. LNMP+Memcached CentOS是红帽发行的免费的稳定Linux版本,在企业服务器应用中都会选用Minimal版本,因为Minimal是CentOS"最纯洁"的服务器系统,因为Minimal版本连vim编辑器都需要自己安装,Minimal组件最少,无桌面,扩展灵活,非常适合做服务器. 1.配置网卡 Minimal版本的CentOS被安装后,网卡驱动默认

原已经安装好的nginx,现在需要添加一个未被编译安装的模块--echo-nginx-module-0.56

为了测试一个NGINX变量,将NGINX加了一个编译模板echo-nginx-module-0.56. 参照如下文件 1,先看以前NGINX有哪些东东. sbin/nginx -V nginx version: nginx/1.6.0 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) TLS SNI support enabled configure arguments: --prefix=/XXXX/lnmp/nginx --user=n

Debian编译安装Nginx+MySQL+PHP-FPM环境详解

Linux环境:Debian 6 Stable 程序版本选择: Nginx:Tengine 1.2.4 淘宝出品,基于Nginx并引进了一些新特性 MySQL:5.1.66 5.1系列最新版.不用5.5的原因是5.5开始编译使用CMake,而资料比较少.(事实上wangyan的脚本使用的是5.5,但是当时我还没看到--) PHP:5.4.9 前几天刚出的Current Stable,自带FPM,与Nginx配合良好. 参考资料: 主要参考军哥的lnmp脚本和wangyan的lanmp脚本.军哥的

CentOS上编译安装Nginx环境步骤

一.安装前准备 1.获取系统信息  代码如下 复制代码 # cat /etc/redhat-release CentOS release 6.5 (Final) # uname -p x86_64 由上可知,当前系统:64位CentOS 6.5. 2.安装基础包  代码如下 复制代码 # yum install gcc # yum install wget 二.安装Nginx模块基础库 1.安装HTTP rewrite(伪静态)模块需要的PCRE库.  代码如下 复制代码 # yum insta

Linux 6下安装编译安装Nginx

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.在高连接并发的情况下,Nginx是Apache服务器不错的替代品:Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一.能够支持高达50,000个并发连接数的响应,而且内存开销极小.这也是Nginx广受欢迎的重要原因.本文演示了基于Linux 6下编译安装Nginx,供大家参考. 一.安装环境 # cat /etc/issue Red Hat Enterprise Linux Server r

CentOS6.3编译安装Nginx+ MySQL5+ PHP5环境教程

[准备工作] #在编译安装lnmp之前,首先先卸载已存在的rpm包.  代码如下 复制代码 rpm -e httpd rpm -e mysql rpm -e php yum -y remove httpd yum -y remove mysql-server mysql yum -y remove php yum -y remove php-mysql #禁用SeLinux,Selinux可能会致使编译安装失败,我们先禁用它. #sed -i 's/SELINUX=enforcing/SELIN

linux 编译安装nginx,配置自启动脚本

在公司的suse服务器装nginx,记录下安装过程: 参照这篇文章:Linux 从源码编译安装 Nginx: 1.1.准备 pcre 库 pere 是为了让 nginx 支持正则表达式.只是准备,并不安装,是为了避免在64位系统中出现错误.  代码如下 复制代码 wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.11.tar.gz  tar -zxf pcre-8.11.tar.gz 1.3.准备 zlib 库 同