
安装Nginx
一、安装gcc
nginx编译依赖gcc环境,centos7上没有gcc环境,则用yum安装gcc:
yum install gcc-c++二、安装pcre pcre-devel
是一个perl库,nginx的http模块视图pcre来解析正则表达式:
yum install -y pcre pcre-devel三、安装zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包内容进行gzip:
yum install -y zlib zlib-devel四、安装OpenSSL
OpenSSL是一个安全套接字层密码库,包括主要的密码算法,常用的密钥和证书封装管理功能以及SSL协议:
yum install -y openssl openssl-devel五、安装nginx
1、下载安装包
官网下载nginx安装包.tar.gz格式,地址:http://nginx.org/en/download.html
2、解压
依次执行如下命令:
tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.13、配置
nginx-1.10.1 版本中你就不需要去配置相关东西,默认就可以了,也可以自定义配置目录
a、使用默认设置:
./configureb、自定义配置:
./configure \
--prefix=/usr/local/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--pid-path=/usr/local/nginx/conf/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
#建议使用第一种配置方式4、编译安装
make && make install查找安装路径:
whereis nginx六,启动、停止nginx
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。
./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。查询nginx进程:
ps aux|grep nginx七、重启nginx
1.先停止再启动(推荐):
对 nginx 进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。如下:
./nginx -s quit
./nginx2.重新加载配置文件:
当 ngin x的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx,使用-s reload不用先停止 ngin x再启动 nginx 即可将配置信息在 nginx 中生效,如下:
./nginx -s reload启动成功后,可以在浏览器看到 welcome to nginx
八、设置开机自启动
即在rc.local 增加启动代码就行
vi /etc/rc.local在最后添加代码:
/usr/local/nginx/sbin/nginx设置执行权限
chmod 755 rc.local安装php-fpm
Nginx本身不能处理PHP,作为web服务器,当它接收到请求后,不支持对外部程序的直接调用或者解析,必须通过FastCGI进行调用。
如果是PHP请求,则交给PHP解释器处理,并把结果返回给客户端。PHP-FPM是支持解析php的一个FastCGI进程管理器。
提供了更好管理PHP进程的方式,可以有效控制内存和进程、可以平滑重载PHP配置。
一、安装依赖包
yum install libmcrypt libmcrypt-devel mhash mhash-devel libxml2 libxml2-devel bzip2 bzip2-devel二、安装php
1、下载安装包
地址:http://www.php.net/downloads.php2、解压安装包
tar xvf php-7.2.5.tar.bz2 -C /var/src3、配置
cd /var/src/php-7.2.5
./configure --prefix=/usr/local/php7 \
--with-config-file-scan-dir=/etc/php.d \
--with-config-file-path=/etc \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-mbstring \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--with-openssl \
-enable-xml \
--enable-sockets \
--enable-fpm \
--with-mcrypt \
--with-bz24、编译安装
make && make install5、添加php和php-fpm配置文件
cp /usr/local/src/php-7.2.5/php.ini-production /etc/php.ini
cd /usr/local/php7/etc/
cp php-fpm.conf.default php-fpm.conf
sed -i 's@;pid = run/php-fpm.pid@pid = /usr/local/php7/var/run/php-fpm.pid@' php-fpm.conf6、添加php-fpm启动脚本
cp /usr/local/src/php-7.2.5/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm7、添加php-fpm至服务列表并设置开机自启
chkconfig --add php-fpm
chkconfig --list php-fpm
chkconfig php-fpm on8、启动服务
service php-fpm start三、配置nginx对fastcgi的支持
1、备份默认的配置文件
cp /usr/local/nginx/conf/nginx.conf.default /usr/local/nginx/conf/nginx.conf2、修改配置,支持php格式文件
vi /usr/local/nginx/conf/nginx.conf将如下代码的#号删除
#default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;将如下代码
location / {
root html;
index index.html index.htm;
}改为:
location / {
root html;
index index.php index.html index.htm;
}将如下代码改为
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}改为:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
#include fastcgi_params;
include fastcgi.conf;
}重新载入nginx的配置文件
cd /usr/local/nginx/sbin
./nginx -s reload浏览器测试效果
在 /usr/loacl/nginx/html新建index.php,内容如下
$conn=mysqi_connect('127.0.0.1','root','root');
if ($conn){
echo "LNMP platform connect to mysql is successful!";
}else{
echo "LNMP platform connect to mysql is failed!";
}
phpinfo();在浏览器访问测试:
可以输出php配置信息,则配置成功
评论(0)