准备工作,需要先下载pcre库,因为nginx的rewrite模块需要pcre库

这里使用的版本分别为:

pcre:8.12     下载地址: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

nginx:0.8.54    下载地址:http://nginx.org/en/download.html

copy压缩包至linux的相应目录,例如:opt下的software,需要确认当前登录用户有权限进行解压和安装。

1)安装pcre库:

tar zxvf pcre-8.12.tar.gz

cd pcre-8.12

./configure<或./config进行编译>

在这里可能会遇到出错,显示configure: error: newly created file is older than distributed files!

同步更新一下当前的系统时间即可,操作:

ntpdate 210.72.145.22

ntpdate 0.centos.pool.ntp.org

然后进行安装

make && make install

cd ../

2)安装Nginx:

tar nginx-0.8.54.tar.gz

cd nginx-0.8.54

在这里需要对nginx的源码做一下小的处理,默认nginx是不支持静态文件的POST提交。一般浏览器默认的设置是缓存静态资源的,而有时候却需要对静态文件进行更新,这就需要使用post提交了,而此时nginx却返回405

一般处理方法是在配置的时候这样写:

error_page 405 =200 @405;
location @405
{
root /opt/htdocs;
}

重定向了405->200了,并且给405这个错误指定了doc_root,就是正常的doc_root的配置。

有兴趣可以参考这里:Nginx的405错误(已解决)

也可以对源码进行一些小的改动,使用vim或是copy下来修改都可以。

这里copy下来进行修改的,文件是src/http/modules/ngx_http_static_module.c

找到下图中的那一行,并将其注释掉:

大致意思是静态资源请求的处理方法中,如果发现请求方法为post提交则拒绝

接下来就是安装了

make && make install

Nginx默认被安装在/usr/local/nginx

3)开机自启动nginx

这里使用的是编写shell脚本的方式来处理

vi /etc/init.d/nginx  (输入下面的代码)

#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# it is v.0.0.2 version.
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
#              It has a lot of features, but it's not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /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"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ];then
   echo "nginx already running...."
   exit 1
fi
   echo -n $"Starting $prog: "
   daemon $nginxd -c ${nginx_config}
   RETVAL=$?
   echo
   [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
   return $RETVAL
}
# Stop nginx daemons functions.
stop() {
        echo -n $"Stopping $prog: "
        killproc $nginxd
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid
}
# reload nginx service functions.
reload() {
    echo -n $"Reloading $prog: "
    #kill -HUP `cat ${nginx_pid}`
    killproc $nginxd -HUP
    RETVAL=$?
    echo
}
# See how we were called.
case "$1" in
start)
        start
        ;;
stop)
        stop
        ;;
reload)
        reload
        ;;
restart)
        stop
        start
        ;;
status)
        status $prog
        RETVAL=$?
        ;;
*)
        echo $"Usage: $prog {start|stop|restart|reload|status|help}"
        exit 1
esac
exit $RETVAL

:wq  保存并退出

设置文件的访问权限

chmod a+x /etc/init.d/nginx   (a+x ==> all user can execute  所有用户可执行)

这样在控制台就很容易的操作nginx了:查看Nginx当前状态、启动Nginx、停止Nginx、重启Nginx…

同样的修改了nginx的配置文件nginx.conf,也可以使用上面的命令重新加载新的配置文件并运行,可以将此命令加入到rc.local文件中,这样开机的时候nginx就默认启动了

vi /etc/rc.local

加入一行  /etc/init.d/nginx start    保存并退出,下次重启会生效。

转载于:https://www.cnblogs.com/meteoric_cry/archive/2011/01/27/1945882.html

Linux下的Nginx安装(开机自启动)相关推荐

  1. windows10下配置nginx服务开机自启动

    windows10下配置nginx服务开机自启动 网站有很多教程,这里赘述一下,补充一点细节 1.下载"Windows Service Wrapper"工具 下载地址:https: ...

  2. linux安装版本信息,Linux下查看Nginx安装目录、版本号信息?

    Linux环境下,怎么确定Nginx是以那个config文件启动的? 输入命令行: ps  -ef | grep nginx 摁回车,将出现如下图片: master process 后面的就是 ngi ...

  3. linux nginx在哪个目录下,Linux下查看Nginx安装目录、版本号信息?

    Linux环境下,怎么确定Nginx是以那个config文件启动的? 输入命令行: ps  -ef | grep nginx 摁回车,将出现如下图片: master process 后面的就是 ngi ...

  4. linux数据库实例开机启动不了,linux下Oracle数据库实例开机自启动设置

    linux下数据库实例开机自启动设置 1.改动/oratab [root@org54 ~]# vi/etc/oratab     --把N改为Y,例如以下提示 # This file is used ...

  5. linux下添加简单的开机自启动脚本

    注:博主使用的ubuntu-16.04进行实验,其它版本可能有偏差,但实现原理类似. 一.在rc.local脚本中添加开机自启动程序 1.添加 ubuntu在开机过程之后,会执行/etc/rc.loc ...

  6. linux 开机启动设置密码,Linux下Redis设置密码及开机自启动

    1.设置Redis.conf中daemonize为yes,确保守护进程开启: 找到#requirepass foorbared这一行,直接替换掉这行,改为requirepass 新密码 2.编写开机自 ...

  7. windows下设置nginx服务开机自启动

    前提:已安装好nginx 1. 下载一个后缀为.NET4.exe的文件 链接:https://github.com/winsw/winsw/releases 2. 下载好后,将其更名为nginx-se ...

  8. linux查找nginx目录,Linux下查看nginx安装目录

    Effective C++ -----条款53:不要轻忽编译期的警告 严肃对待编译器发出的警告信息.努力在你的编译器的最高(最严苛)警告级别下争取"无任何警告"的荣誉. 不要过度依 ...

  9. Linux下MongoDB的安装,通过配置文件启动Mongodb的方式研究,mongodb自启动脚本(Linux),Windows下安装MongoDB服务,集群部署,数据导出和恢复

    关于MongoDB的windows的 安装,可以参考: http://www.runoob.com/mongodb/mongodb-window-install.html 关于Linux的安装可以参考 ...

  10. linux安装多版本php_Linux系统下为Nginx安装多版本PHP

    我们在安装配置服务器LNPM环境时应该考虑到PHP多版本并存的问题,下面是实现Linux系统下为Nginx安装多版本PHP的实现方法 linux版本:64位CentOS 6.4 Nginx版本:ngi ...

最新文章

  1. 培养积极状态的八个方法
  2. centos配置yum本地源
  3. java final类的写法_重拾JavaSE基础——抽象类、接口、代码块、final和枚举
  4. HTML表格,table,thead,tbody,tfoot,th,tr,td,的属性以及跨行,跨列
  5. 彻底完全卸载 SQL Server 2005 的图文教程
  6. C语言 do while 和 while 循环 - C语言零基础入门教程
  7. jquery form java_springmvc利用jquery.form插件异步上传文件示例
  8. Adding Keyword And Description meta tags to each page by inheritence
  9. 【转】深入分析JAVA IO(BIO、NIO、AIO)
  10. IoT:BLE4.0教程一 蓝牙协议连接过程与广播分析
  11. 数据分析之数据可视化
  12. codesys工控机_CoDeSys
  13. 024.RN项目android打包
  14. Java生成二维码图片并打包下载
  15. 最新Lua网络验证系统+lua代码/PHP后端开发
  16. 学习大数据可以进入哪些公司?
  17. 调用微信内置浏览器实现微信打开的网页上的图片能点击打开的效果
  18. 如何将收藏夹栏显示在edge浏览器上方
  19. flowable报错FlowableTaskAlreadyClaimedException问题
  20. java后台报错cant found font [times New Roman] installed on the system

热门文章

  1. 解决一次模拟post请求的时候,出现中文???的错误
  2. Linux下获取时间差(毫秒级)
  3. 计算机图形学完整笔记(四):消隐
  4. 【0x50「动态规划」例题】LCIS【最长公共上升子序列】
  5. 怎么配置php发送邮件环境,如何配置PHP发送电子邮件?
  6. Ctftool:CTF漏洞利用工具
  7. linux模拟http请求命令
  8. BZOJ1057 [ZJOI2007]棋盘制作 【最大同色矩形】
  9. JS 在火狐浏览器下关闭弹窗
  10. 【学习笔记】bootstrap之CSS组件