首页 » 网站建设 » nginxphpapa设置装备摆设技巧_Lnmp lamp情形搭建

nginxphpapa设置装备摆设技巧_Lnmp lamp情形搭建

访客 2024-10-24 0

扫一扫用手机浏览

文章目录 [+]

centos7.0 64位 nginx-1.9.7 apache-2.4.17 mysql-5.5.46 php5.5.30

安装准备

默认所有软件都放在/tar/目录下,首先该当在根目录下创建/tar/文件夹。

nginxphpapa设置装备摆设技巧_Lnmp lamp情形搭建

GCC的安装

在编译时报错

nginxphpapa设置装备摆设技巧_Lnmp lamp情形搭建
(图片来自网络侵删)

短缺C++编译器

# yum install gcc-c++

Nginx-1.9.7的安装pcre的安装(必须安装)

先看系统中是否有如果没有则须要安装

安装nginx是会如下缺点,须要安装pcre-devel或禁用nginx的rewrite模块

Yum安装pcre-devel

参考实在弗成时利用

查询是否安装 pcre-devel

# rpm -qa pcre-devel

删除pcre-devel

# rpm -e --nodeps pcre-devel 不检讨依赖

安装pcre-devel

# yum -y install pcre-devel

Pcre的下载

进入官方网站 http://www.pcre.org/

选择一个镜像站点下载

Pcre的安装

a、检讨是否安装了pcre

# rpm -qa pcre

b、备份必要的库文件

# cp /lib64/libpcre.so.0 /tar/ 如果是32位系统 # /lib/libpcre.so.0 /tar/

c、删除旧的pcre

# rpm -e --nodeps pcre 不检讨依赖

d、pcre的安装

# cd /tar/

# tar zxvf pcre-8.38.tar.gz

# cd pcre-8.38

# ./configure

# make && make install

zlib的安装

紧张用于nginx安装gzip压缩网页的模块,如果不要可以在编译nginx 时加 --without-http_gzip_module,安装gd库的libpng时也须要此的支持。

在安装php的gd库libpng时也须要此包,否则会报如下缺点。

zlib的下载

打开官方网站

http://www.zlib.net/

找到下面的直接下载

zlib的安装

# cd /tar/

# tar zxvf zlib-1.2.8.tar.gz

# cd zlib-1.2.8

# ./configure

# make

# make install

Nginx-1.9.7的下载

进入官方网址 http://nginx.org/,点击一个版本,进入下载页面

根据需求,点击下载的软件

Nginx-1.9.7的安装创建运行nginx的用户和组

# groupadd www

# useradd -r -g www www

安装nginx

# cd /tar/

# tar zxvf nginx-1.9.7.tar.gz

# cd nginx-1.9.7

# ./configure \

--prefix=/usr/local/nginx \

--user=www \

--group=www \

--without-http_gzip_module

解释:

--prefix 安装目录

--user 用户

--group 用户组

--without-http_gzip_module 不安装gzip模块,默认会安装的如果不加的话会报错如下

如果报此缺点。
如果须要安装此模块,可以用 # yum install -y zlib-devel 安装依赖包,也可以拜会 系统依赖包的安装。

编译成功后的提示

编译和安装

# make && make install

如果启动的时候报错如下

# ln -s /usr/local/lib/libpcre.so.1 /lib64

nginx的启动重启和停滞

启动:/usr/local/nginx/sbin/nginx

重启:/usr/local/nginx/sbin/nginx -s reload

停滞:/usr/local/nginx/sbin/nginx -s stop

Nginx检讨配置文件是否精确

# nginx -t

Nginx开机启动启动

# echo /usr/local/nginx/sbin/nginx >> /etc/rc.local

重启后创造开机不能启动,由于/etc/rc.d/rc.local 没有实行的权限。

# chmod +x /etc/rc.d/rc.local

防火墙设置开启80端口访问

centos7默认的是用firewalld进行管理防火墙的。

添加80端口

# firewall-cmd --zone=public --add-port=80/tcp --permanent

--zone 浸染域

--add-port=80/tcp 添加端口,格式为:端口/通讯协议

--permanent 永久生效,没有此参数重启后失落效

如果报错可能是防火墙没有启动,启动、停滞、重启的方法如下

启动:# systemctl start firewalld

重启:# systemctl reload firewalld

停滞:# systemctl stop firewalld

禁用:# systemctl disable firewalld

查看状态:# systemctl status firewalld 或者 firewall-cmd --state

重新加载80端口

# firewall-cmd --reload

Apache-2.4.17的安装APR的安装

如果没有安装apr,在安装apache时会报如下缺点。

APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,紧张为上层的运用程序供应一个可以超过多操作系统平台利用的底层支持接口库。

APR的下载

打开官方网站

http://apr.apache.org/

选择镜像下载

选择源码包下载

APR的安装

# tar zxvf apr-1.5.2.tar.gz

# cd apr-1.5.2

# ./configure

# make

# make install

APR-util的安装

apr-util和apr都是为上层运用供应的运行库。
如果没有安装它,在安装apache是会报如下缺点。

APR-util的下载

打开官方网站

http://apr.apache.org/

选择镜像下载

直接下载apr-util

APR-util的安装

# tar zxvf apr-util-1.5.4.tar.gz

# cd apr-util-1.5.4

# ./configure --with-apr=/usr/local/apr/

# make

# make install

Pcre的安装

见nginx的安装下的pcre的安装

Apache的下载

打开官方网站

http://www.apache.org/

点击download

选择一个镜像站点下载,选择下载httpd

下载一个版本

Apache的安装

# tar zxvf httpd-2.4.17.tar.gz

# cd httpd-2.4.17

# ./configure \

--prefix=/usr/local/apache \

--enable-module=rewrite

参数解释:

--prefix=/usr/local/apache 安装路径

--enable-module=rewrite 启用伪静态URL重写

# make

# make install

启动时有可能会报,如下缺点。
则须要修正apahce配置文件。

# vi /usr/local/apache/conf/httpd.conf

去掉ServerName的注释,并按自己的需求修正。
ServerName 127.0.0.1:80

Apache加入系统做事中,实现开机启动

# cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd

# chmod +x /etc/rc.d/init.d/httpd

# vi /etc/rc.d/init.d/httpd

在 #!/bin/sh下加入,如下图所示(必须要有#号)

#chkconfig: 2345 10 90

#description: Activates/Deactivates Apache Web Server

# chkconfig --add httpd

# chkconfig httpd on

Apache的启动停滞重启

# service httpd start

# service httpd stop

# service httpd restart

启动Apache做事

#/usr/local/apache/bin/apachectl start

关闭Apache做事

#/usr/local/apache/bin/apachectl stop

重启Apache做事

#/usr/local/apache/bin/apachectl restart

Php-5.5.30的安装安装 libxml2-2.9.2(必须安装)

安装php时会报错,缘故原由是短缺xml2-config文件

下载libxml2-2.9.2

打开官网

http://xmlsoft.org

点击downloads

点击下载

终极下载地址

ftp://xmlsoft.org/libxml2/

libxml2-2.9.2的安装

# tar -zxvf libxml2-2.9.2.tar.gz

# cd libxml2-2.9.2

# ./configure

# make && make install

安装的时候有可能提示如下缺点,则须要指定python的路径

--with-python=/usr/include/python2.7

--width-python=/tar/libxml2-2.92/python

安装时提示有缺点但彷佛不影相应用下面php的编译可以走通,也可以用yum去安装

# yum install -y libxml2

# yum install -y libxml2-devel

Php-5.5.30的下载

进入官方网站 http://php.net,点击downloads

下载一个稳定点的版本

选择一个下载镜像站点

Php-5.5.30的安装

Php5.5.30的安装,进入软件上传的目录tar,解压php压缩文件,配置php,然后编译安装。

这里采取的是最小安装,所有扩展在安装完成往后根据须要再行安装。

# cd /tar/

# tar zxvf php-5.5.30.tar.gz

# cd php-5.5.30

# ./configure \

--prefix=/usr/local/php \

--with-config-file-path=/usr/local/php/etc \

--with-mysql=/usr/local/mysql \

--enable-fpm

如果不明白参数的话可以 ./configure --help 查看

参数解释:

--prefix 安装路径

--with-config-file-path 配置文件的路径

--enable-fpm PHP-FPM(FastCGI Process Manager:FastCGI进程管理器)

--with-mysql=/usr/local/mysql 安装mysql扩展

--with-gd 开启gd库

--with-apxs2=/usr/local/apache/bin/apxs 天生apache链接php的模块文件,

如果是apache+php则须要此项

如果只是启用gd而没有安装png或jpeg或freetype则会包如下的问题。

--with-png-dir=/usr/local/libpng/ png目录

--with-jpeg-dir=/usr/local/jpeg/ jpg目录

--with-freetype-dir=/usr/local/freetype freetype目录

PHP5.3.3已经集成php-fpm了,不再是第三方的包了。
PHP-FPM供应了更好的PHP进程管理办法,可以有效掌握内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多优点,以是被PHP官方收录了。
在./configure的时候带 –enable-fpm参数即可开启PHP-FPM。

# make

# make install

把稳:make是可能报内存不敷的缺点,可以增加交流分区(虚拟内存)办理此问题。

缺点办理:参考:创建交流分区.doc

# make clean

检讨php是否安装成功

新建一个php文件,例如新建test.php文件放入/home/目录下

# echo '<?php echo time();?>' > /home/test.php

运行php程序

# /usr/local/php/bin/php /home/test.php

添加环境变量

# echo 'PATH=$PATH:/usr/local/php/bin' >> /etc/profile

# echo 'PATH=$PATH:/usr/local/php/sbin' >> /etc/profile

# source /etc/profile

# echo $PATH

查看php安装了那些扩展

# php -m

Nginx-1.9.7和php-5.5.30整合

Nginx利用fastcgi去连接php的,php的fastcig是通过php-fpm来管理的。
php-fpm(FastCGI Process Manager:FastCGI进程管理器)。
也便是说php端须要配置php-fpm去管理php的fastcgi进程。
Nginx只须要修正配置文去连接php的fastcgi进程。
这样nginx和php就可以通信了。

直接运行php-fpm报错如下

Php5.5.30的配置php-fpmPhp-fpm的配置

Php-fmp在php安装目录的sbin目录下,一样平常情形下路径是 /usr/local/php/sbin/php-fpm。
安装完成php后是不能直接运行php-fpm的,须要创建php-fpm的配置文件才能启动它。

# cd /usr/local/php/etc/

# cp php-fpm.conf.default php-fpm.conf

# ll

修正php-fpm.conf文件,让www用户去运行phpfstcgi进程

# vi php-fpm.conf

修正user 和group为www用户和www用户组

Php-fpm的启动停滞和重启

1、如果用的是打补丁的方法安装php-fpm的可以用以下办法来掌握fastcgi

/usr/local/php/sbin/php-fpm{start|stop|quit|restart|reload|logrotate}

--start 启动php的fastcgi进程

--stop 逼迫终止php的fastcgi进程

--quit 平滑终止php的fastcgi进程

--restart 重启php的fastcgi进程

--reload 重新平滑加载php的php.ini

--logrotate 重新启用log文件

2、如果是php自带的php-fpm要用如下的办法去开启停滞php的fastcgi

启动

# /usr/local/php/sbin/php-fpm

停滞

查找进程号:

# ps -ef | grep php-fpm

# kill -INT 查询到的进程号

# killall php-fpm

重启

# ps -ef | grep php-fpm

# kill -USR2 查询到的进程号

Php-fpm开机启动

# echo /usr/local/php/sbin/php-fpm >> /etc/rc.local

Php.ini的配置

默认php安装往后还没有php的配置文件(php.ini)。
这个文件要到php 的源码包文件中的目录中找,有一个php.int. production 文件,只要复制到/usr/local/php/etc/改名为php.ini 即可

# cd /tar/php-5.5.30

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

Nginx-1.9.7的配置

默认nginx的配置文件支持php-fpm的配置,只是注释掉了。
我们可以打开nginx的配置文件,删除php-fpm的注释即可。

# cd /usr/local/nginx/conf

# vi nginx.conf

去掉注释并修正/script$fastcgi_script_name的路径为网站的路径

修正前

修正后

注释:

为什么fastcgi_pass 127.0.0.1:9000 由于 /usr/local/php/etc/php-fpm.conf配置文件配置的端口是9000,如下图所示

Apache与php的整合Apache的配置

修正apache配置文件

# cd /usr/local/apache/conf

# vi httpd.conf

修正ServerName

# ServerNamewww.example.com:80将前面的#去掉,根据自己的需求修正,否则启动或报错。

2、加入php模块

LoadModule php5_module modules/libphp5.so

3、在AddType application/x-gzip .gz .tgz下加入如下php文件的支持

AddType application/x-httpd-php .php

4、修正入口文件配置DirectoryIndex

<IfModule dir_module>

DirectoryIndex index.html index.php

</IfModule>

Php的配置

在安装php的时候须要增加如下赤色命令,目的是天生apache的libphp5.so动态链接库。

# ./configure \

--prefix=/usr/local/php \

--with-config-file-path=/usr/local/php/etc \

--with-mysql=/usr/local/mysql \

--with-apxs2=/usr/local/apache/bin/apxs

测试apache+php是否正常运行

# cd /usr/local/apache/htdocs/

# echo '<?php echo phpinfo();?>' > phpinfo.php

# curl http://127.0.0.1/phpinfo.php

Php扩展与设置安装mysql扩展

一样平常情形下先安装mysql,然后安装php,在php的./configure时加入--with-mysql=/usr/local/mysql/,也可以用如下的办法增加mysql扩展。
否则很摧残浪费蹂躏韶光,相称于重新安装一遍。

在编译扩展的时候一定要把稳先在php源码包的根目录中实行 make clean,或则重新从源码包中解压。

进入php源码包的扩展目录,不是/usr/local/php中的目录。

# cd /tar/php-5.5.30

# make clean //很主要

# cd ext/mysql

# /usr/local/php/bin/phpize

有可能会报如下缺点,则须要安装autoconf,这里我直接yum安装。

# ./configure \

--with-php-config=/usr/local/php/bin/php-config \

--with-mysql=/usr/local/mysql/

把稳:./configure是/tar/php-5.5.30/ext/mysql下的文件,而不是/tar/php-5.5.30下的文件。

# make

# make install

安装成功往后可以看到mysql.so文件所在的位置,把他拷贝到phpinfo()中

extension_dir

/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212

所指示的位置,如果天生目录的位置和phpinfo的位置一样则不须要拷贝。

也可以通过php.ini配置extension_dir所在的目录。

修正php.ini,添加mysql扩展库

# cd /usr/local/php/etc/

# vi php.ini

在末了面加入

extensions="mysql.so"

重启php-fpm,从而去重启php的fastcgi

# cd /usr/local/php/sbin

# ./php-fpm restart

安装pdo_mysql扩展

进入php源码包的扩展目录,不是/usr/local/php中的目录。

# cd /tar/php-5.5.30

# make clean //很主要

# cd ext/pdo_mysql

# /usr/local/php/bin/phpize

#./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql

# make

# make install

安装成功往后可以看到mysql.so文件所在的位置,把他拷贝到phpinfo()中

extension_dir

/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212

所指示的位置,如果天生目录的位置和phpinfo的位置一样则不须要拷贝。

也可以通过php.ini配置extension_dir所在的目录。

修正php.ini,添加mysql扩展库

# cd /usr/local/php/etc/

# vi php.ini

在末了面加入

extension=pdo_mysql.so

重启php-fpm

安装GD库扩展

Gd2扩展的安装须要依赖freetype(字体)、png、jpeg的安装,否则在ext/gd/下./configure时会报如下缺点。

安装Freetype

下载freetype

打开官网

http://www.freetype.org/

点击左边的下载

选择一个镜像站点下载

选择一个版本下载

Freetype的安装

# tar -zxvf freetype-2.6.tar.gz

# cd freetype-2.6

# ./configure --prefix=/usr/local/freetype

# make

# make install

安装Libpng

Libpng的下载

打开官方网站

http://libpng.com/pub/png/libpng.html

页面往下拉,选择一个源码包下载

Libpng的安装

# tar -zxvf libpng-1.6.19.tar.gz

# cd libpng-1.6.19

# ./configure --prefix=/usr/local/libpng

# make

# make install

注释:为什么这里要指定--prefix的安装位置,由于在安装gd扩展时要用到。
当然也可以不指定,如果不指定的话在安装gd扩展也可以不指定扩展。

安装Jpegsrc

Jpegsrc的下载

打开官网

http://www.ijg.org/

下载

Jpegsrc的安装

# tar zxvf jpegsrc.v9a.tar.gz

# cd jpeg-9a

# ./configure --prefix=/usr/local/jpeg

# make && make install

安装GD扩展

# cd /tar/php-5.5.30/ext/gd

# /usr/local/php/bin/phpize

# ./configure \

--with-php-config=/usr/local/php/bin/php-config \

--with-jpeg-dir=/usr/local/jpeg \

--with-png-dir=/usr/local/libpng \

--with-freetype-dir=/usr/local/freetype

注释:

如果安装jpegsrc,libpng,freetype时没有指定--prefix那么配置gd扩展时就不指定 --with-jpeg-dir等。

把稳:./configure是/tar/php-5.5.30/ext/gd下的文件,是phpsize天生的,而不是/tar/php-5.5.30下的文件。

# make

# make install

接着修正php.ini文件,添加extension=gd.so# vi /usr/local/lib/php.ini

添加 extension=gd.so

安装openssl扩展

进入php源码包的扩展目录,不是/usr/local/php中的目录。

# cd /tar/php-5.5.30

# make clean //很主要

# cd ext/openssl

# /usr/local/php/bin/phpize

可能会报短缺config.m4的缺点

# ll

# mv config0.m4 config.m4

再次

# /usr/local/php/bin/phpize

# ./configure \

--with-php-config=/usr/local/php/bin/php-config

可能会报错如下,只须要重新安装openssl

# yum install openssl openssl-devel

# make && make install

/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/

查找php.ini的位置# cd /usr/local/php/bin/

# php --ini

# vi /usr/local/php/etc/php.ini

在末了面加入

# extension=openssl.so重启 php-fpm,见上面章节

安装curl扩展

用yum安装curl

# yum install curl curl-devel

进入php源码包的扩展目录,不是/usr/local/php中的目录。

# cd /tar/php-5.5.30

# make clean //很主要

# cd ext/curl

# /usr/local/php/bin/phpize# ./configure \

--with-php-config=/usr/local/php/bin/php-config \

--with-curl# make && make install

查找php.ini的位置# cd /usr/local/php/bin/

# php --ini

# vi /usr/local/php/etc/php.ini

在末了面加入

# extension=curl.so重启 php-fpm,见上面章节

查看php.ini的位置

如果不知道php.ini文件的位置,可以通过php --ini命令进行查看,如下:

# php --ini

Php打开短标签

# php -ini

# vi /usr/local/php/etc/php.ini

找到short_open_tag改成 short_open_tag = On

!wq

重启php-fpm

Nginx创建网站

创建网站存放目录

# cd /home/www/

# mkdir mysql

# cd mysql

# mkdir www

# chown -R www:www /home/www/mysql

修正nginx配置文件,创建一个站点

# cd /usr/local/nginx/conf

# vi nginx.conf

复制一个server{}

修正根目录、域名等信息

配置文件参考:

Apache创建网站

修正apache配置文档httpd.conf加虚拟主机的支持:

Include conf/extra/httpd-vhosts.conf #取消注释

添加目录权限

<Directory "/home/wwwroot/">

Options FollowSymLinks

AllowOverride All

Order allow,deny

Allow from all

</Directory>

使站点支持URL重写

LoadModule rewrite_module modules/mod_rewrite.so 去掉注释

配置虚拟主机extra/httpd-vhosts.conf

标签:

相关文章

介绍皮肤设置,如何打造理想肌肤状态

随着科技的发展和人们对美的追求,皮肤设置已成为美容护肤的重要一环。如何根据皮肤类型、肤质、年龄等因素进行合理设置,已成为众多爱美人...

网站建设 2025-01-03 阅读3 评论0

介绍盖章制作,传承文化,彰显权威

自古以来,盖章在我国文化中具有重要的地位。从古代的官印、私印到现代的公章、合同章,盖章已成为一种独特的文化符号,承载着丰富的历史内...

网站建设 2025-01-03 阅读4 评论0

介绍监控破坏,技术手段与法律风险并存

随着科技的飞速发展,监控设备已遍布大街小巷,成为维护社会治安的重要手段。一些不法分子为了逃避法律制裁,开始研究如何破坏监控设备。本...

网站建设 2025-01-03 阅读1 评论0

介绍登录不上之谜,技术故障还是人为疏忽

随着互联网的普及,登录已成为人们日常生活中不可或缺的一部分。在享受便捷的登录不上这一问题也困扰着许多用户。本文将深入剖析登录不上之...

网站建设 2025-01-03 阅读1 评论0

介绍电脑键盘调出方法,让操作更高效

随着科技的发展,电脑已经成为了我们日常生活中不可或缺的工具。而电脑键盘,作为电脑输入设备,更是我们与电脑进行交流的桥梁。你是否知道...

网站建设 2025-01-03 阅读1 评论0

介绍磁力链,高效便捷的文件下载利器

在互联网高速发展的今天,文件下载已成为日常生活中不可或缺的一部分。而磁力链作为一种新型的文件下载方式,凭借其高效、便捷的特点,受到...

网站建设 2025-01-03 阅读1 评论0