CentOs上安装nginx和php教程

安装编译环境

yum install -y gcc gcc-c++ ncurses-devel perl

安装pcre开发包(nginx依赖)

yum install -y pcre-devel

安装zlib

yum install -y zlib-devel

安装Nginx

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

tar xzvf nginx-1.7.9.tar.gz

cd nginx-1.7.9

./configure --prefix=/usr/local/nginx --user=nobody --group=nobody && make && make install

wget:下载工具命令tar:解压缩包命令 参数:-x 解压 -z 判断是否使用gzip压缩 -v 解压过程显示文件 -f 使用文档名

启动nginx

/usr/local/nginx/sbin/nginx

设置nginx开机启动

写入文件

vim /etc/init.d/nginx```
**设置成可执行**

chmod +x /etc/init.d/nginx“`
设置成开机启动

chkconfig nginx on```
----
###安装PHP依赖包
```yum -y install autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel libmcrypt libmcrypt-devel mysql-devel```

----
###生成libmysqlclient软链
```ln -s /usr/lib64/mysql/libmysqlclient.so.18.0.0 /usr/lib/libmysqlclient.so```
>通过查找libmysqlclient,发现是在/usr/lib64/mysql/目录内的libmysqlclient.so.18.0.0做的软连接,PHP默认是去的 /usr/lib/搜索,所以没有找到,所以要在php默认的/usr/lib/目录下生成链接到libmysqlclient的软链。
>**注意,这里的libmysqlclient.so.18.0.0可能更新而修改版本号(之前我参考的教程就是libmysqlclient.so.16.0.0),所以我们要先进入/usr/lib64/mysql/目录,确定这个文件(libmysqlclient.so.18.0.0)的具体名称,再生成软链。**

----
###安装libmcrypt
>centos源不能安装libmcrypt-devel,由于版权的原因没有自带mcrypt的包。所以这里我们使用自己在网上下载的包,然后上传到服务器的目录上。

```cd /usr/local```

```wget http://softlayer.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.8.tar.gz (使用附件的包或者自己下载的包)```

```tar -zxvf libmcrypt-2.5.8.tar.gz```

```cd libmcrypt-2.5.8```

```./configure --prefix=/usr/local && make && make install```

----
###安装PHP
```wget http://cn2.php.net/distributions/php-5.3.29.tar.gz ```

```tar xzvf php-5.3.29.tar.gz```

```cd php-5.3.29```

**内存大于等于1G时**
```./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-mcrypt --enable-mbstring --with-curl --disable-debug -with-bz2 --with-zlib --enable-sockets --enable-zip --with-pcre-regex --with-mysql --with-mysqli --with-gd --with-jpeg-dir && make && make install```

**内存小于1G时**
```./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-mcrypt --enable-mbstring --with-curl --disable-debug -with-bz2 --with-zlib --enable-sockets --enable-zip --with-pcre-regex --with-mysql --with-mysqli --with-gd --with-jpeg-dir --disable-fileinfo && make && make install```

```cp php.ini-production /usr/local/php/etc/php.ini```

```ln -s -f /usr/local/php/bin/phar.phar /usr/local/php/bin/phar```

```cd /usr/local/php/etc/```

```mv php-fpm.conf.default php-fpm.conf```

```mkdir /usr/local/php/log```

```chmod 777 /usr/local/php/log```

----
###修改php-fpm.conf文件
```vim /usr/local/php/etc/php-fpm.conf```
>设置错误日志路径 **error_log = /usr/local/php/log/php_errors.log**

----
###修改php.ini文件
```vim /usr/local/php/etc/php.ini```
>设置时区中国 **date.timezone = PRC**
>隐藏php版本号 **expose_php=Off**

----
###启动php-fpm
```cd /usr/local/php-5.3.29```

```cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm```

```chmod +x /etc/init.d/php-fpm```

```chkconfig php-fpm on```

```/etc/init.d/php-fpm start```

----
###配置一个虚拟主机
```mkdir /usr/local/nginx/conf/vhosts```

```vim /usr/local/nginx/conf/nginx.conf```
>去掉log_format main前的注释,在最后一个“}”前加入一行 **include vhosts/*.config;**

----
###检查一下配置文件是否有问题 
```/usr/local/nginx/sbin/nginx -t```
>**正确响应:**
>nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
>nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

----
###重新加载配置文件
```/usr/local/nginx/sbin/nginx -s reload```
>每次新写入一个/usr/local/nginx/conf/vhosts/*.conf 文件都要运行这个命令哦
    原文作者:我要7西瓜_
    原文地址: https://www.jianshu.com/p/4d20c35194d4
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞