centos6.7环境上源码安装nginx1.12.1
学习了近一个月的linux开发,自己学习了网上的教程,搭建了一套lnmp服务,本文为nginx源码安装,记录如下:
环境:虚拟机(vmware12.0.1) 操作系统 centos6.7
说明:以下操作均基于虚拟机上的centos6.7系统,系统刚装,许多依赖都没有,辛亏的是centos自带yum,很多依赖我们可以直接通过yum直接一键安装。但是nginx 我们却要源码安装,这不是傻么? 并不是,原因有二,首先:centos6.7系统虽然自带yum但是默认的源没有nginx,其次:不选择,修改yum源而用yum安装nginx是因为,yum安装,会按照规定格式将nginx安装到多个目录下,不好管理和删除等。所以本人选择源码安装。
原生的centos上只有yum没有安装wget,由于要下载源码,需要wget来下载源码 一.安装wget yum install wget
二.安装nginx编译安装所需要的依赖 yum install pcre pcre-devel -y
yum install openssl openssl-devel -y
三.下载源码 wget:http://101.96.8.164/nginx.org/download/nginx-1.12.1.tar.gz
解压缩包: tar -zxvf nginx-1.12.1.tar.gz 进入解压后的目录中,启动confure监测文件,来生成makeFile文件,设置nginx安装目录为/opt/app/ 其中app为本人自己创建的目录。 ./confure --prefix=/opt/app
编译安装源码包 :make && make install
运行nginx ./sbin/nginx
查看nginx进程,看是否成功: ps aux | grep nginx 成功如图:
nginx中采用工作进程来监听80端口,执行web操作,而主进程来管理工作进程,一旦工作进程挂了,主进程会主动启动一个工作进程,保证服务稳定。 查看80端口是否被监听:netstat -tulnp | grep :80
成功如图:
三.设置service 便捷启动,关闭,重启nginx 上面,我们是通过 ./sbin/nginx 来开启的nginx,那每一次我们对nginx操作时都需要到nginx安装文件下去安装,着实不是很方便。 我们可以通过 service来控制nginx服务的开启关闭的。 这样的我们就需要知道service 是一个什么样的原理: service的绝对路径是/sbin/service ,是一个shell脚本,可以用vi打开看看。主要是完成了两个工作 (1)加载了 环境变量 PATH (2) 调用/etc/init.d/ 下相应的文件,例如 service nginx start 命令就是 执行了 /etc/init.d/nginx 脚本 由于nginx并没有支持这样的脚本,不然我们可以直接复制到/etc/init.d/ 下。但是既然是脚本,我们也可以自己写,只要实现了nginx的开启,关闭,重启就行。网上查到一个一个脚本,亲测可行代码如下:
在/etc/init.d/创建nginx脚本 vi /etc/init.d/nginx 将上面的代码复制进去,注意程序中的 DAEMON 改成自己nginx安装的目录。
查看权限发现没有执行权限, 设置执行权限 chmod +x /etc/init.d/nginx 设置开机自动启动: chkconfig nginx on 试试 service nginx start 开启nginx 在任何路径下都可以执行 service nginx start service nginx stop service nginx reload
原生的centos上只有yum没有安装wget,由于要下载源码,需要wget来下载源码 一.安装wget yum install wget
二.安装nginx编译安装所需要的依赖 yum install pcre pcre-devel -y
yum install openssl openssl-devel -y
三.下载源码 wget:http://101.96.8.164/nginx.org/download/nginx-1.12.1.tar.gz
解压缩包: tar -zxvf nginx-1.12.1.tar.gz 进入解压后的目录中,启动confure监测文件,来生成makeFile文件,设置nginx安装目录为/opt/app/ 其中app为本人自己创建的目录。 ./confure --prefix=/opt/app
编译安装源码包 :make && make install
运行nginx ./sbin/nginx
查看nginx进程,看是否成功: ps aux | grep nginx 成功如图:
nginx中采用工作进程来监听80端口,执行web操作,而主进程来管理工作进程,一旦工作进程挂了,主进程会主动启动一个工作进程,保证服务稳定。 查看80端口是否被监听:netstat -tulnp | grep :80
成功如图:
三.设置service 便捷启动,关闭,重启nginx 上面,我们是通过 ./sbin/nginx 来开启的nginx,那每一次我们对nginx操作时都需要到nginx安装文件下去安装,着实不是很方便。 我们可以通过 service来控制nginx服务的开启关闭的。 这样的我们就需要知道service 是一个什么样的原理: service的绝对路径是/sbin/service ,是一个shell脚本,可以用vi打开看看。主要是完成了两个工作 (1)加载了 环境变量 PATH (2) 调用/etc/init.d/ 下相应的文件,例如 service nginx start 命令就是 执行了 /etc/init.d/nginx 脚本 由于nginx并没有支持这样的脚本,不然我们可以直接复制到/etc/init.d/ 下。但是既然是脚本,我们也可以自己写,只要实现了nginx的开启,关闭,重启就行。网上查到一个一个脚本,亲测可行代码如下:
#!/bin/bash # chkconfig: 35 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse set -e DESC="nginx daemon" NAME=nginx DAEMON=/opt/app/nginx_1_12_1/sbin/$NAME SCRIPTNAME=/etc/init.d/$NAME test -x $DAEMON || exit 0 d_start(){ $DAEMON || echo -n " already running" } d_stop() { $DAEMON -s quit || echo -n " not running" } d_reload() { $DAEMON -s reload || echo -n " counld not reload" } case "$1" in start) echo -n "Starting $DESC:$NAME" d_start echo "." ;; stop) echo -n "Stopping $DESC:$NAME" d_stop echo "." ;; reload) echo -n "Reloading $DESC configuration..." d_reload echo "reloaded." ;; restart) echo -n "Restarting $DESC: $NAME" d_stop sleep 2 d_start echo "." ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|reload}" >&2 exit 3 ;; esac exit 0
在/etc/init.d/创建nginx脚本 vi /etc/init.d/nginx 将上面的代码复制进去,注意程序中的 DAEMON 改成自己nginx安装的目录。
查看权限发现没有执行权限, 设置执行权限 chmod +x /etc/init.d/nginx 设置开机自动启动: chkconfig nginx on 试试 service nginx start 开启nginx 在任何路径下都可以执行 service nginx start service nginx stop service nginx reload
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 页面布局移动端和pc端的转换 js
- 下一篇: urllib库python2和python3具体区别