今天配置CentOS6.5下安装Nginx + php7 + mysql5.7.15遇到了一些坑。本来家里的电脑在配置环境的时候没有问题,拿去公司的电脑上就是到处报错。不知道是不是人品问题。今晚在家重装了一个centos,安装之后进行了全部yum update。本来以为上午的问题可能是没有更新软件,图样图森破。下面总结一下今晚对nginx部分的心得。

因为PCRE本来是用在nginx重写rewrite的时候,解析正则的正则解析库,所以在安装nginx之前,默默的先装上基本应用:

yum -y install gcc automake autoconf libtool gcc-c++ gd zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt libmcrypt-devel pcre pcre-devel

ok,现在下载并解压:

  wget http://nginx.org/download/nginx-1.10.1.tar.gz

  tar zxvf nginx-1.10.1

  cd nginx-1.10.1

  ./configure --prefix=/usr/local/nginx

通过find,知道了pcre默认安装在/usr/local/nginx/auto/lib/pcre,那么,

./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/nginx/auto/lib/pcre

接下来就是一轮报错:

1.发生错误为:

make[2]: *** 没有规则可以创建目标“distclean”。 停止。

网上看到的办法一一做了尝试:

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-openssl=/usr/include/openssl   --user=www --group=www

2.发生错误为:

"conf/koi-win" 与"/usr/local/nginx/conf/koi-win" 为同一文件

据说这是因为防火墙的原因。我又关了防火墙重启:

vi + /etc/sysconfig/iptables
#添加配置项
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
#重启防火墙
service iptables restart

3.接着出现:

nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (2: No such file or directory)
#0: getpwnam("www") failed

喝喝。现在log不能打开,网上说,这是nginx已经运行,被执行启动,这个不算致命错误;

然后就没有了!!!

好吧我杀进程,总算不在运行了吧:

kill -9 nginx

4.再次make && make install ,亲人,胡汉三我又回来了!

cp: `conf/koi-win’ and `/usr/local/nginx/conf/koi-win’ 为同一文件。

所以上面这一切都是在逗我咯?

好吧。仔细翻了一下,nginx/conf/koi-win,和/usr/local/nginx/conf/kol-win,终于在阿里云上面找到了答案,路径的问题嘛

./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf

终于在默念天灵灵地灵灵装好系统行不行的诚恳祷告下,make && make install成功了。以下部分转载自阿里云,并经过实际测试:

接下来启动nginx

#方法1 
[root@unique nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 
#方法2 
[root@unique nginx]# cd /usr/local/nginx/sbin 
[root@unique sbin]# ./nginx

停止nginx

#查询nginx主进程号 
ps -ef | grep nginx
#停止进程 
kill -QUIT 主进程号(我的是27854)  #快速停止 
kill -TERM 主进程号(我的是2993)  #强制停止 
pkill -9 nginx

重启nginx

[root@unique sbin]# /usr/local/nginx/sbin/nginx -s reload

这个时候如果出现nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed

想必是需要:

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

继续

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

测试nginx

#测试端口 
netstat –na|grep 80
#浏览器中测试 
http://ip:80

做一个自定义的nginx启动停止脚本

[root@unique sbin]# vi /etc/init.d/nginx

把下面的脚本复制进去然后保存

#! /bin/sh
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the nginx web server PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/$NAME.conf
PIDFILE=/usr/local/nginx/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME set -e
[ -x "$DAEMON" ] || exit 0 do_start() {
 $DAEMON -c $CONFIGFILE || echo -n "nginx already running"
} do_stop() {
 kill -INT `cat $PIDFILE` || echo -n "nginx not running"
} do_reload() {
 kill -HUP `cat $PIDFILE` || echo -n "nginx can't reload"
} case "$1" in
 start)
 echo -n "Starting $DESC: $NAME"
 do_start
 echo "."
 ;;
 stop)
 echo -n "Stopping $DESC: $NAME"
 do_stop
 echo "."
 ;;
 reload|graceful)
 echo -n "Reloading $DESC configuration..."
 do_reload
 echo "."
 ;;
 restart)
 echo -n "Restarting $DESC: $NAME"
 do_stop
 do_start
 echo "."
 ;;
 *)
 echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
 exit 3
 ;;
esac exit 0

给文件添加执行权限

[root@unique sbin]# chmod +x /etc/init.d/nginx
#然后可以通过
#/etc/init.d/nginx start 命令启动nginx
#/etc/init.d/nginx stop 命令停止nginx
#/etc/init.d/nginx restart 命令重启nginx #重启nginx
[root@unique init.d]# /etc/init.d/nginx restart
Restarting nginx daemon: nginx.

扩展:配置开机启动

如果需要开机启动服务,保存好 /etc/init.d/nginx文件后,执行以下命令:

[root@unique init.d]#chkconfig --add ningx
[root@unique init.d]#chkconfig --level nginx 2345 on

于是,我开始配置php和mysql,前方必然有坑。容我慢慢趟来……

CentOS下配置nginx conf/koi-win为同一文件的各类错误的更多相关文章

  1. centos下配置nginx遇到的一些基本的坑

    作为一个用.net的渣渣,常年混迹在window平台下,对Linux啥都不懂.随着.net core开源.跨平台后,也开始学习下linux. 在Desktop/Webs下放了一个index.html的 ...

  2. centos下配置nginx支持php

    添加nginx 默认主页index.php vim .../etc/nginx/conf.d/default.conf location / { root   /usr/share/nginx/htm ...

  3. centos下配置Nginx

    首先NGINX是一个高效的HTTP和反向代理的服务器,这里记录一下它的安装方式和文件结构方便以后查看.同时Linux系统具有灵活性,其他的东西可查看具体的官网信息:https://nginx.org/ ...

  4. CentOS下配置Nginx实现动静分离实例

    测试环境: CentOS Linux release 7.6 PHP 7.2.32 两台服务器:192.168.1.109(Nginx),192.168.1.118(Apache) 1. 安装配置19 ...

  5. 在CentOS/Windows下配置Nginx(以及踩坑)

    在CentOS/Windows下配置Nginx(以及踩坑) 1. 序言 因为这类文章网上比较多,实际操作起来也大同小异,所以我并不会着重于详细配置方面,而是将我配置时踩的坑写出来. 2. CentOS ...

  6. CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架 2018.3.11

    CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架 阿里云服务器的选择 当然是选择学生优惠啦.这里阿里云还提供了轻量级服务器这个选项,可以预装 LA ...

  7. CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架

    <!doctype html> CentOS 7 下配置 Nginx + PHP7.1 + MariaDB 以及 Laravel 框架.mdhtml {overflow-x: initia ...

  8. CentOS 下 安装 nginx 执行配置命令 ./configure 报错

    CentOS 下 安装 nginx 执行配置命令 ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx 时提示以下错误: checkin ...

  9. centos下安装nginx和php-fpm

    安装这两个花了大约七个小时,简直呵呵,安装nginx就是直接 yum install nginx ,但发现一打开php文件就是直接下载该php文件,也就是不能识别php文件,解决这个花了好久,但其实看 ...

随机推荐

  1. 归一化变换 Normalizing transformations

    归一化变换包含两个部分,图像坐标的平移和尺度的缩放.进行归一化的变换不但能够提高处理结果的精确度,而且通过选择一个标准的坐标系预先的消除了图像尺度和坐标原点的选择对算法最终结果的影响. 归一化变换的步 ...

  2. mongodb安装配置

    下载安装 官网下载地址:https://www.mongodb.com/download-center 执行msi文件. 环境配置 可以参照我的步骤来进行配置,目录根据个人需要设置. 解压安装包到D: ...

  3. 一步一步开发Game服务器(三)加载脚本和服务器热更新(二)完整版

    上一篇文章我介绍了如果动态加载dll文件来更新程序 一步一步开发Game服务器(三)加载脚本和服务器热更新 可是在使用过程中,也许有很多会发现,动态加载dll其实不方便,应为需要预先编译代码为dll文 ...

  4. iOS中获取cell中webview的内容尺寸

    最近项目中遇到在cell中获取webView的内容的尺寸的需求 实现的思路其实很简单 就是通过执行js 获取尺寸即可 为了后面用着方便我直接封装了一个HTML的cell 起名就叫 STHTMLBase ...

  5. C++如何调用C#开发的dll

    序言 本文介绍一个C++如何调用C#开发的dll实例. 前言 C++编写的程序为非托管代码,C#编写的程序为托管代码.托管代码虽然提供了其他开发平台没有的许多优势,但由于前期系统及历史版本很多使用的是 ...

  6. Windows 10 版本 1507 中的新 AppLocker 功能

    要查看 Windows 10 版本信息,使用[运行]> dxdiag  回车 下表包含 Windows 10 的初始版本(版本 1507)中包括的一些新的和更新的功能以及对版本 1511 的 W ...

  7. 【MVVM Light】新手初识MVVM,你一看就会

    一.前言 作为一个初入软件业的新手,各种设计模式与框架对我是眼花缭乱的.所以当我接触到这些新知识的时候就希望自己能总结几个步骤,以便更好更方便的在日常工作中进行使用. MVVM顾名思义就是Model- ...

  8. [WCF编程]5.绑定概述

    一.绑定概述 WCF提供了一个编程框架,可以抽象化服务创建的复杂过程.绑定允许开发人员将精力集中在问题本身上,而无需考虑如何创建允许系统运行的架构,因为WCF已经创建了架构. 绑定类型是开发人员控制W ...

  9. Spring容器深入(li)

    spring中最常用的控制反转和面向切面编程. 一.IOC IoC(Inversion of Control,控制倒转).对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的 ...

  10. Spring声明事务管理

    首先我们先了解事务,什么是事务? 简单来说就是要么全部成功,要么什么都不做. 为什么要使用事务? 比如说常用银行系统的例子,如果没有用事务,有人在存入钱的时候出了问题,那么银行系统数据库的数据没有改变 ...