nginx学习(1):编译、安装、启动

简介: 一、下载 从官网http://nginx.org/en/download.html 下载稳定版(目前最新稳定版是1.6.2) 二、解压 tar zxf nginx-1.6.2.tar.gzcd 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

 

目录
相关文章
|
2天前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
27 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
11天前
|
Kubernetes 应用服务中间件 nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
k8s学习--YAML资源清单文件托管服务nginx
|
11天前
|
Kubernetes 监控 测试技术
k8s学习--基于Ingress-nginx实现灰度发布系统
k8s学习--基于Ingress-nginx实现灰度发布系统
k8s学习--基于Ingress-nginx实现灰度发布系统
|
12天前
|
tengine 关系型数据库 MySQL
Tengine、Nginx安装MySQL数据库命令教程
本指南详细介绍了在Linux系统上安装与配置MySQL数据库的步骤。首先通过下载并安装MySQL社区版本,接着启动MySQL服务,使用`systemctl start mysqld.service`命令。若启动失败,可尝试使用`sudo /etc/init.d/mysqld start`。利用`systemctl status mysqld.service`检查MySQL的服务状态,确保其处于运行中。通过日志文件获取初始密码,使用该密码登录数据库,并按要求更改初始密码以增强安全性。随后创建一个名为`tengine`的数据库,最后验证数据库创建是否成功以及完成整个设置流程。
|
12天前
|
tengine 应用服务中间件 Linux
Tengine、Nginx安装PHP命令教程
要在阿里云Linux上安装PHP,请先更新YUM源并启用PHP 8.0仓库,然后安装PHP及相关扩展。通过`php -v`命令验证安装成功后,需修改Nginx配置文件以支持PHP,并重启服务。最后,创建`phpinfo.php`文件测试安装是否成功。对于CentOS系统,还需安装EPEL源和Remi仓库,其余步骤类似。完成上述操作后,可通过浏览器访问`http://IP地址/phpinfo.php`测试安装结果。
|
7天前
|
Ubuntu 搜索推荐 应用服务中间件
Nginx安装与使用
Nginx安装与使用
|
7天前
|
负载均衡 算法 应用服务中间件
Nginx安装及配置详解
Nginx安装及配置详解
|
7天前
|
应用服务中间件 程序员 开发工具
mac下安装nginx
mac下安装nginx
|
7天前
|
应用服务中间件 Linux nginx
CentOS7安装Nginx
CentOS7安装Nginx
|
7天前
|
Ubuntu Unix 应用服务中间件
Ubuntu16.04.1 安装Nginx
Ubuntu16.04.1 安装Nginx