nginx安装环境准备,启动后自动启动nginx服务的shell脚本
(1)nginx安装环境准备
nginx采用C语言开发,建议在Linux上运行。这里使用Centos6.5作为安装环境。
gcc
要安装nginx,必须先编译从官网下载的源代码。编译依赖于gcc环境。如果没有gcc环境,
安装命令:yum install gcc-c++ -y
PCRE
PCRE(Perl兼容正则表达式)是一个Perl库,包含perl兼容正则表达式。 nginx的http模块使用pcre来解析正则表达式,因此Linux上必须安装pcre库。
安装命令:yum install -y pcre pcre-devel
注:pcre-devel是pcre开发的二次开发库。 nginx 也需要这个库。
zlib
zlib 库提供了多种压缩和解压方法。 nginx使用zlib对http数据包的内容进行gzip,因此
需要在Linux上安装zlib库。
安装命令:yum install -y zlib zlib-devel
openssl
OpenSSL是一个强大的安全套接字层密码库,包括主要的密码算法、常用的密钥和证书Encaps管理功能和SSL管理协议,并提供丰富的应用程序用于测试或其他目的。
nginx不仅支持http协议,还支持https(即通过ssl协议传输http),所以需要在linux上安装openssl库
。
安装命令:yum install -y openssl openssl-devel
(2)编译安装
将nginx-1.8.0.tar.gz复制到linux服务器。
解压:
tar -zxvf nginx-1.8.0.tar.gz
进入解压完成的目录:cd nginx-1.8.0
然后执行以下命令: ./配置
–prefix=/usr/local/nginx
–pid-path=/var/run/nginx/nginx.pid
–lock-path=/var/lock/nginx.lock
–error-log-path=/var/log/nginx/error. log
–http-log-path=/var/log/nginx/access.log
–with-http_gzip_static_module
–http-client-body-temp-path=/var/temp/nginx/client
–http-proxy-temp-path=/var/temp/nginx/proxy
–http-fastcgi-temp-path=/var/temp/nginx/fastcgi
–http-uwsgi-temp- path=/var/temp/nginx/uwsgi
–http-scgi-temp-path=/var/temp/nginx/scgi
注意:上面指定临时文件目录为/var/temp/nginx,需要在 /var 下创建 temp 和 nginx 目录 mkdir –p /var/temp/nginx
编译安装,
在解压后的目录 nginx-1.8.0 中依次执行以下两条命令
Layer
do install
至此安装完成。
(3)启动、停止、命令操作并查看效果
启动nginx
cd /usr/local/nginx/sbin/
./ nginx
可以访问虚拟机上的nginx:比如我安装的IP是http://192.168.88.220/
。浏览器访问如下图:
注:运行 ./nginx 启动 nginx ,这里可以 -c 指定加载的 nginx 配置文件,如下:
./nginx -c /usr/ local /nginx/conf/nginx.conf
如果不指定-c,nginx conf启动时会默认加载/nginx.conf文件,这个文件的地址也可以编译
安装nginx时,指定./configure的参数(–conf-path=指向配置文件(nginx.conf))
停止nginx
方法一,快速停止:
cd /usr/local /nginx/ sbin
./nginx -s stop
这种方法相当于先找到nginx进程ID,然后使用kill命令强制杀死该进程。
方法二,完全停止(推荐):
cd /usr/local/nginx/sbin
./nginx -s quit
该方法中的停止步骤是在任务完成。
重启nginx
方法一,先停止再启动(推荐):
重启nginx相当于先停止nginx再启动nginx,即先执行停止命令,再执行启动命令。
如下:
./nginx -s quit
./nginx
方法二、重新加载配置文件:
当nginx配置文件修改为nginx.conf时,重新加载配置文件。配置生效如果需要重启nginx,请使用-s reload,而不是
。先停止nginx,然后启动nginx,使配置信息在nginx中生效,如下:
./nginx -s reload
(4)启动后自动启动nginx服务
1.编写一个 shell 脚本。这里采用的方法是编写shell脚本。 ![]()
vi /etc/init.d/nginx (输入下面的代码)
#!/bin/bash
# Nginx HTTP Server 的 nginx 启动脚本
# 版本是 v.0.0.2 .
# chkconfig: - 85 15
# 描述:Nginx 是一个高性能的 Web 和代理服务器。
# 它有很多功能,但并不适合所有人。
# 进程名称 : nginx
# pidfile: /var/run/nginx.pid
# 配置:/usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf nginx_pid =/var/run/nginx.pid
RETVAL=0
prog="nginx"
# 源函数库。
. /etc/rc.d/init.d/functions
# 源网络配置。
. /etc/sysconfig/network
# 检查网络是否已启动。
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# 启动 nginx 守护进程功能。
start() {
if [ -e $nginx_pid ];然后
echo "nginx running..."
exit 1 fi
echo -n $"正在启动 $prog: "
daemon $nginxd -c ${nginx_config}
RETVAL =$?
echo
0 [ $]RETVAL & touch = / var/lock/subsys/nginx
return $RETVAL
}
# 停止 nginx 守护进程功能。
stop ( ) {
echo -n $Stopper $prog Kill: " $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys / nginx /var/run/nginx.pid
}
# 重新加载 nginx 服务函数。
reload() {
echo -n $"重新加载 $prog: "
#kill -HUP `cat ${nginx_pid}`
Killproc $nginxd RETVAL= $?
echo
}
# 看看我们是如何被调用的。
case "$1" i
start)
start
) ;
停止
;; 重新加载)
重新加载
;;
重新启动)
停止
开始
开始
)状态
RETVAL=$ ?
;;
*)
echo $"使用: $prog {start|stop|restart|reload|status|help}"
退出 1
退出 $RETVAL
按:wq保存退出。
设置文件访问权限
chmod a+x /etc/init.d/nginx (a+x ==>所有用户都可以运行(所有用户都可执行)
这样就可以很方便的在控制台操作nginx:查看Nginx当前状态、启动Nginx、停止Nginx、重启Nginx...
![]()
如果修改了nginx配置文件nginx.conf,还可以使用以上命令要重新加载新配置
并运行可以将此命令添加到rc.local文件中,以便nginx在启动时默认启动
4.在本地文件中添加rc.
vi / etc/rc.local
添加一行 /etc/init.d/nginx start 保存退出,下次重启即可生效
------ -- --- --- -------
作者:itRexLin
来源:CSDN
原文:https://blog.csdn.net/itRexLin/article/details/90521924
版权声明:本文为博主原创文章。转发时附上博文链接!
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网