CentOS+Nginx+PHP+MySQL详细配置(带有图解)

合集下载

centos7配置nginx+php5.6+mysql5.6+netcore2.0

centos7配置nginx+php5.6+mysql5.6+netcore2.0

Centos7配置.netcore+nginx+mysql+php 1 安装nginxyum install epel-releaseyum install nginx启动nginx服务systemctl restart nginx检查服务是否起来ps –ef|grep nginx修改配置文件cd /etc/nginxcp nginx.conf nginx.conf.bakcp nginx.conf.default nginx.conf浏览器访问,测试是否安装成功加入守护进程,使其开机自启动sytemctl enable nginx配置文件位置:/etc/nginx/nginx.conf网站位置:/usr/share/nginx/htm2 安装.net core 2.0检查系统安装glibc的版本cd /usr/lib64strings libstdc++.so.6|grep GLIBCGLIBCXX大于3.4.18sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl=https:///yumrepos/microsoft-rhel7. 3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft .com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'yum updateyum install libunwind libicuyum install dotnet-sdk-2.0.0dotnet –version命令验证安装是否成功3 安装mysql5.6检查是否已经安装mysqlyum list installed | grep mysql给centos源,并选择较新的源wget /get/mysql-community-release-el7-5.noarch.rpmyum localinstall mysql-community-release-el7-5.noarch.rpmyum repolist all | grep mysql如果执行yum-config-manager报没有该命令,执行下面语句【yum -y install yum-utils】yum-config-manager --disable mysql55-communityyum-config-manager --disable mysql57-communityyum-config-manager --disable mysql57-community-dmr查看可以安装版本yum repolist enabled | grep mysqlyum install mysql-community-server启动myql数据库服务service mysqld start添加守护进程,使其可以开机自启动systemctl enable mysqld4 安装php5.6yum list installed | grep phpyum install epel-releaserpm -ivh /enterprise/remi-release-7.rpm查看5.6的可安装包yum list--enablerepo=remi--enablerepo=remi-php56|grep phpyum install --enablerepo=remi --enablerepo=remi-php56 php php-fpmphp-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-mysql启动php-fpmsystemctl start php-fpm添加php-fpm为守护进程systemctl enable php-fpm5 部署.net项目做一个测试项目创建一个项目文件夹mkdir /var/webtestdotnet new mvcdotnet restoredotnet publish –c release启动.net core项目[root@localhost publish]# dotnet webtest.dll在nginx配置方向代理编辑nginx配置文件server {listen 80;server_name ;location / {proxy_pass http://localhost:5000;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection keep-alive;proxy_set_header Host $host;proxy_cache_bypass $http_upgrade;}}测试访问如果出现网关502错误,因为selinux保护机制所导致yum install policycoreutils-pythonsudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginxsudo semodule -i mynginx.pp6 配置.net core项目为守护进程目前存在三个问题问题1: Core应用程序运行在shell之中,如果关闭shell则会发现 Core应用被关闭,从而导致应用无法访问,这种情况当然是我们不想遇到的,而且生产环境对这种情况是零容忍的。

CentOS下Apache、PHP、MySQL安装配置

CentOS下Apache、PHP、MySQL安装配置

1. 安装Apahce, PHP,以及php连接mysql库组件。

yum -y install httpd php php-mysql2. 配置开机启动服务/sbin/chkconfig httpd on [设置apache服务器httpd服务开机启动]/sbin/chkconfig --add mysqld [在服务清单中添加mysql服务]/sbin/chkconfig mysqld on [设置mysql服务开机启动]/sbin/service httpd start [启动httpd服务,与开机启动无关]3.//安装apache扩展yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql//安装php的扩展yum install php-gdyum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc4.apache的配置文件是/etc/httpd/conf下modules放在/usr/lib/httpd下php的配置文件在/etc/php.d/下和/etc/php.iniphp的modules放在/usr/lib/php/modules下apache 默认支持php配置zendoptimizer-3.3.3 cd 目录install 安装过程指定httpd控制文件/etc/rc.d/init.d/httpd路径/etc/httpd配置cronolog进行日志分割下载/download/index.html./configure --prefix /usr/local/cronologmakemake install即可httpd-vhost.conf中的日志设置项可以为:ErrorLog “|/usr/local/cronolog/sbin/cronolog/home/www/apache_logs/-error_log%Y%m%d" CustomLog |/usr/local/cronolog/sbin/cronolog /home/www/apache_logs/-access_log%Y%m%d"combinedmount -t nfs 192.168.0.252:/home/www/wwwroot/bbs /home/www/wwwroot/bbs出现:Document root must be a directory解决办法?关闭selinux setenforce 01.前言CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。

如何在CentOS 7中安装Nginx, MySQL, PHP (LEMP)

如何在CentOS 7中安装Nginx, MySQL, PHP (LEMP)

CentOS 7中安装Nginx, MySQL, PHP (LEMP)内容来源于PPPCloud官网教程介绍LEMP 组合包是一款开源的的网站服务组合软件包,在网站服务上起着强有力的作用。

LEMP 包是由Linux、nginx、MariaDB/MySQL 和PHP 组成的,其中nginx的高性能及轻量级等特性替代了Apache ,MySQL 驱动引擎使用MariaDB,PHP用来生成网页动态内容。

本文档中,主要是在PPPCloud箭头的CentOS 7环境下安装LEMP组合包。

CentOS 7为提供的Linux操作系统。

先决条件在本手册开始之前,在服务器中需要存在一个非root的用户注:当遇到Nginx无法运行的情况时,确信SELinux在Nginx在配置文件中正确配置或者改变SELinux的状态到permissive或disabled状态步骤一安装NginxNginx用于呈现网页,作为web server。

打开命令行界面,安装CentOS 7 EPEL,使用sudo超级用户的权限进行安装如何找到服务器公共IP地址如果不知道服务器的ip地址,有多种途径可以去获取到。

通过这个地址,可以使用ssh连接到服务器。

使用iproute2 工具获取ip地址,命令行如下:配置PHP处理器现在PHP组件安装完毕,为了安全起见,需要修改一下配置文件。

打开php-fpm配置文件/etc/php.ini 摘要步骤四配置Nginx到PHP到目前为止,所需的所有的组件均已安装完毕。

还需要进行的配置是关于Nginx 和PHP的相关内容。

修改默认的Nginx配置,调用的脚本名称为info.php,Apache获取该文件,需要指定特定的目录,该目录为web 的根目录。

在CentOS 7中,该目录位置为/usr/share/nginx/html/,因此创建文件,这个显示出来的网页,提供了基本的系统信息。

有效的调试了是否正确设置了配置文件。

CentOS6.3系统Yum安装php+spawn-fcgi+nginx和数据库mysql详细教程

CentOS6.3系统Yum安装php+spawn-fcgi+nginx和数据库mysql详细教程

CentOS6.3系统Yum安装php+spawn-fcgi+nginx和数据库mysql详细教程1、系统安装和网络配置选择搜狐或者网易镜像,下载最新版的centos6.3的最小化安装iso进行最小化安装(详细安装过程不是本贴要讨论的重点,请自行百度)。

安装完毕之后登陆系统,使用命令查看当前网络配置情况[root@localhost /]#ifconfig配置网络信息/etc/sysconfig/network-scripts/目录下是网卡配置文件,ifcfg-eth0等等。

其配置内容可以参考下面的配置:DEVICE="eth0"BOOTPROTO="static"HWADDR="00:0C:29:89:DC:EC"NM_CONTROLLED="yes"ONBOOT="yes"TYPE="Ethernet"UUID="cef5d36f-6ef8-4d78-a25c-5c1172585e0e"IPADDR="192.168.0.63"NETMASK="255.255.255.0"GATEWAY="192.168.0.1"重点要配置的项目有以下几个BOOTPROTO ←启动协议ONBOOT ←是否开机启动IPADDR ←网卡IP地址NETMASK ←子网掩码GATEWAY ←默认网关修改/etc/resolv.conf文件,添加nameserver 192.168.0.1 这个是dns此时重启网卡[root@localhost /]#ifconfig eth0 down[root@localhost /]#ifconfig eth0 up或者用下面的命令[root@localhost /]#service network restart网卡重启之后ping以下自身ip地址、网关和检测是否配置正常。

[lnmp(centos6.2+nginx+mysql+php)环境搭建系统教程--之第四步mysql安装]

[lnmp(centos6.2+nginx+mysql+php)环境搭建系统教程--之第四步mysql安装]

mysql服务器安装将mysql-5.5.3-m3.tar.gz上传到/software#groupadd mysql#useradd -g mysql mysql#创建mysql用户与组#tar zxf mysql-5.5.3-m3.tar.gz#cd mysql-5.5.3-m3#./configure --prefix=/usr/local/mysql/ --with-extra-charsets=all #make#make install#cp support-files/f /etc/f#/usr/local/mysql/bin/mysql_install_db --user=mysql#chown -R root:mysql /usr/local/mysql/(/usr/local/mysql/var这个目录不存在)#chown -R mysql:mysql /var/lib/mysql/#/usr/local/mysql/bin/mysqld_safe --user=mysql &这样做就可以了:#mkdir /var/run/mysqld#cd /var/run/mysqld#touch mysqld.pid#cd ..#chown -R mysql mysqld .#cd /usr/local/mysql/# cd /var/lib/mysql/# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock 为root设置密码:开机启动mysql#cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld #chown root.root /etc/rc.d/init.d/mysqld#chmod 755 /etc/rc.d/init.d/mysqld#chkconfig --add mysqld#chkconfig --list mysqld#chkconfig --levels 245 mysqld off或者简单点:#echo "/usr/local/mysql/bin/mysqld_safe &" >>/etc/rc.local其它命令杀死进程如:killall -9 mysql。

[lnmp(centos6.2+nginx+mysql+php)环境搭建系统教程--之第五步php安装]

[lnmp(centos6.2+nginx+mysql+php)环境搭建系统教程--之第五步php安装]

php安装将libiconv-1.13.1.tar.gz上传至/software#tar zxf libiconv-1.13.1.tar.gz#cd libiconv-1.13.1#./configure --prefix=/usr/local/#make && make install#cd ..将libmcrypt-2.5.8.tar.gz 上传至/software#tar zxf libmcrypt-2.5.8.tar.gz#cd libmcrypt-2.5.8#./configure#make && make install#/sbin/ldconfig#cd libltdl#./configure --enable-ltdl-install#make && make install#cd ../../将mhash-0.9.9.9.tar.gz上传至/software#tar zxf mhash-0.9.9.9.tar.gz#cd mhash-0.9.9.9/#./configure#make && make install#cd ../#ln -s /usr/local/lib/ /usr/lib/#ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so#ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4#ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8 #ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a#ln -s /usr/local/lib/ /usr/lib/#ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so#ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2#ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1 #ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config将mcrypt-2.6.8.tar.gz上传至/software#tar zxvf mcrypt-2.6.8.tar.gz#cd mcrypt-2.6.8/#/sbin/ldconfig#./configure#make && make install#cd ../将php-5.4.3.tar.gz上传至/softwarephp5.3.3以后的版本源码不需要再打php-fpm补丁,该补丁已集成进php5.3.3, 在编译时,不需再–enable-fastcgi了,在php5.3.3中强制启用fastcgi了。

docker完整配置nginx+php+mysql的方法步骤

docker完整配置nginx+php+mysql的方法步骤

docker完整配置nginx+php+mysql的⽅法步骤⾸先了解⼀个⽅法:使⽤docker exec进⼊Docker容器docker在1.3.X版本之后还提供了⼀个新的命令exec⽤于进⼊容器,这种⽅式相对更简单⼀些,下⾯我们来看⼀下该命令的使⽤:sudo docker exec --help接下来我们使⽤该命令进⼊⼀个已经在运⾏的容器$ sudo docker ps$ sudo docker exec -it 775c7c9ee1e1 /bin/bash⼀. 配置nginx查找上的 nginx 镜像runoob@runoob:~/nginx$ docker search nginxNAME DESCRIPTION STARS OFFICIAL AUTOMATEDnginx Official build of Nginx. 3260 [OK]jwilder/nginx-proxy Automated Nginx reverse proxy for docker c... 674 [OK]richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable ... 207 [OK]million12/nginx-php Nginx + PHP-FPM 5.5, 5.6, 7.0 (NG), CentOS... 67 [OK]maxexcloo/nginx-php Docker framework container with Nginx and ... 57 [OK]webdevops/php-nginx Nginx with PHP-FPM 39 [OK]h3nrik/nginx-ldap NGINX web server with LDAP/AD, SSL and pro... 27 [OK]bitnami/nginx Bitnami nginx Docker Image 19 [OK]maxexcloo/nginx Docker framework container with Nginx inst... 7 [OK]...这⾥我们拉取官⽅的镜像runoob@runoob:~/nginx$ docker pull nginx等待下载完成后,我们就可以在本地镜像列表⾥查到 REPOSITORY 为 nginx 的镜像。

LNMP服务器配置详解

LNMP服务器配置详解

LNMP服务器配置详解CentOS+Nginx+MySQL+PHP服务器配置详解前言:0,更新163源cd/etc/yum.repos.dmv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup wget /.help/CentOS6-Base-163.repo运行yum makecache生成缓存1,安装CentOS操作系统,本教程使用CentOS6.3版本,安装过程省略。

2,检测系统的编译环境是否已经安装,如:gcc,gcc-c++,make检测编译环境时候安装的命令:rpm-q gcc//检测GCC是否安装rpm-q gcc-c++//检测gcc-c++是否安装rpm-q cmake//检测cmake是否安装如果返回结果为:-bash:rem:command not found表示被检测的环境没有安装。

安装命令:yum-y install gccyum-y install gcc-c++yum-y install cmake//此安装方法必须保证电脑连接到互联网系统自动联网检测,并给出了依赖关系,根据提示按Y,回车,系统会自动下载并完成安装...提示:Complete!表示安装完成。

使用同样的方式安装gcc-c++,此处省略N个字。

3,查询系统是否安装过我们需要的软件检测命令:rpm-qa|grep httpd检测apacherpm-qa|grep php检测phprpm-qa|grep mysql检测mysql如果提示已经安装,需要卸载卸载命令:yum-y remove httpdyum-y remove phpyum-y remove mysql4,关闭selinuxvi/etc/sysconfig/selinux设置SELINUX=disabled5,关闭防火墙iptables-F或者配置vi/etc/sysconfig/iptables或者在系统启动里面关闭开机启动防火墙,当然这样很不安全查看防火墙的启动等级chkconfig--list将对应的启动等级关闭chkconfig--level2345iptables off重启防火墙#/etc/init.d/iptables restart看下状态#/etc/init.d/iptables status6,编写脚本解压tar文件,脚本如下://切换到tar文件夹下,保证源码包都放在一起cd/usr/src/ls*.tar.gz>tar.listfor TAR in`cat tar.list`dotar-zxvf$TARdone7,安装libxml2,系统已经安装2.7.6,可选择安装,需要安装libxml2-devel自动安装:yum install libxml2libxml2-devel手动安装:cd libxml2-2.9.1./configure--prefix=/usr/local/libxml2/make&&make install8,安装libiconvcd libiconv-1.14./configure--prefix=/usr/local/libiconv/make&&make install9,安装libmcrypt-2.5.8cd libmcrypt-2.5.8./configure--prefix=/usr/local/libmcrypt/make&&make installcd libltdl./configure--enable-ltdl-installmake&&make install10,安装zlib,系统已经安装1.2.3版本,需要安装装zlib-devel自动安装:yum install zlib zlib-devel手动安装:cd zlib-1.2.7./configuremake&&make install11,安装libpng,系统已经安装1.2.49版本,需要安装libpng-devel自动安装:yum install libpng libpng-devel手动安装:cd libpng-1.6.9./configure--prefix=/usr/local/libpng/make&&make install12,安装jpegcd jpeg-9a./configure--prefix=/usr/local/jpeg9/--enable-shared--enable-staticmake&&make install13,安装freetype,系统已经安装freetype-2.3.11,需要安装freetype-devel自动安装:yum install freetype freetype-devel手动安装:cd freetype-2.5.2./configure--prefix=/usr/local/freetype--without-pngmake注意:这里会提示:rmdir:删除"/usr/local/freetype/include/freetype2/freetype/internal"失败:没有那个文件或目录make:[install]错误1(忽略)处理方法:mkdir-p/usr/local/freetype/include/freetype2/freetype/internal然后make install14,安装autoconfyum install autoconf15,安装GD库cd gd-2.1.0./configure--prefix=/usr/local/gd2/--with-jpeg=/usr/local/jpeg9/--with-png --with-freetypemake&&make install16,安装pcre,系统已经安装pcre-7.8,需要安装pcre-devel自动安装:yum install pcre pcre-devel手动安装:cd pcre-8.34./configure--prefix=/usr/local/pcremake&&make install17,安装mhashcd mhash-0.9.9.9./configuremake&&make install18,安装mcrypt将libmcrypt库的库文件路径添加到系统变量路径export LD_LIBRARY_PATH=/usr/local/libmcrypt/lib/:$LD_LIBRARY_PATH需要进行一些文件的连接操作,相当于windows系统的快捷方式ln-s/usr/local/libmcrypt/lib//usr/lib/ln-s/usr/local/libmcrypt/lib/libmcrypt.so/usr/lib/libmcrypt.soln-s/usr/local/libmcrypt/lib/libmcrypt.so.4/usr/lib/libmcrypt.so.4ln-s/usr/local/libmcrypt/lib/libmcrypt.so.4.4.8/usr/lib/libmcrypt.so.4.4.8 ln-s/usr/local/libmcrypt/bin/libmcrypt-config/usr/bin/libmcrypt-configln-s/usr/local/lib/libmhash.a/usr/lib/libmhash.aln-s/usr/local/lib//usr/lib/ln-s/usr/local/lib/libmhash.so/usr/lib/libmhash.soln-s/usr/local/lib/libmhash.so.2/usr/lib/libmhash.so.2ln-s/usr/local/lib/libmhash.so.2.0.1/usr/lib/libmhash.so.2.0.1/sbin/ldconfigcd mcrypt-2.6.8/./configure--with-libmcrypt-prefix=/usr/local/libmcryptmake&&make install19,安装ncurses,系统已经安装ncurses-5.7,需要安装ncurses-devel自动安装:yum install ncurses ncurses-devel手动安装:cd ncurses-5.9./configure--with-shared--without-debug--without-ada--enable-overwrite make&&make install20,安装openssl自动安装:yum install openssl openssl-devel21,安装curl,系统已经安装curl-7.19.7,需要安装curl-devel自动安装:yum install curl curl-devel手动安装cd curl-7.30.0./configure--prefix=/usr/local/curl--with-ssl=/usr/local/sslmake&&make install23,安装bison,用来支持Mysql安装自动安装:yum-y install bison24,安装Bzip2,用来支持php安装自动安装:yum-y install bzip2bzip2-devel25,安装xmp,用来支持php安装自动安装:yum-y install libXpm libXpm-devel============================================================================== ================================================================================== ==============26,安装MariaDBcmake\-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\-DMYSQL_DATADIR=/usr/local/mysql/data\-DSYSCONFDIR=/usr/local/mysql/\-DEXTRA_CHARSETS=all\-DDEFAULT_CHARSET=utf8\-DDEFAULT_COLLATION=utf8_general_ci\-DWITH_INNOBASE_STORAGE_ENGINE=1\-DWITH_ARCHIVE_STORAGE_ENGINE=1\-DWITH_BLACKHOLE_STORAGE_ENGINE=1\-DWITH_FEDERATED_STORAGE_ENGINE=1\-DWITH_PARTITION_STORAGE_ENGINE=1\-DWITH_PERFSCHEMA_STORAGE_ENGINE=1\-DMYSQL_UNIX_ADDR=/usr/local/mysql/var/mysqld.sock\-DMYSQL_TCP_PORT=3306\-DWITH_DEBUG=0\-DENABLED_LOCAL_INFILE=1重新cmake前,一定要执行rm-f CMakeCache.txtmakemake install27,配置MariaDBcd/usr/local/mysql因为我的内存是1G的,因此需要复制f文件为mysql的配置文件,内存大于4G,使用f512内存:cp./support-files/f/usr/local/mysql/f1G-2G内存:cp./support-files/f/usr/local/mysql/f2G以上内存:cp./support-files/f/usr/local/mysql/fvi/usr/local/mysql/f在[mysqld]段增加datadir=/usr/local/mysql/datamax_connections=512default-storage-engine=MyISAMcharacter-set-server=utf8#在[mysqld]段修改max_allowed_packet=16M#添加mysql运行的用户和用户组groupadd mysql//添加一个mysql标准组useradd-g mysql mysql//添加mysql用户并加到mysql组中chown-R root.chown-R mysql datachgrp-R mysql.#进入mysql安装目录下的脚本目录cd/usr/local/mysql/scripts#利用mysql_install_db脚本生成新的mysql授权表./mysql_install_db--basedir=/usr/local/mysql--datadir=/usr/local/mysql/data --user=mysql#mysql server在系统中的服务项设置复制服务文件并修改cp/usr/local/mysql/support-files/mysql.server/etc/init.d/mysqldvi/etc/init.d/mysqld修改basedir=/usr/local/mysqldatadir=/usr/local/mysql/datachmod755/etc/init.d/mysqldchkconfig--add mysqld#将mysql加到启动服务列表里chkconfig mysqld on#让系统启动时自动打开mysql服务启动mysqlservice mysqld start#设置root密码,必须先启动mysqlcd/usr/local/mysql/bin./mysqladmin-u root password"123456"./mysql-u root-p提示输入密码mysql>show variables like'%character%';#结果:character_set_database,character_set_server两项都变为utf8了修改密码use mysqlUPDATE user SET Password=PASSWORD('123456')where USER='root'; FLUSH PRIVILEGES;28,安装Nginx为nginx创建用户groupadd wwwuseradd-g www wwwcd nginx-1.4.4./configure\--prefix=/usr/local/nginx\--conf-path=/usr/local/nginx/conf/nginx.conf\--error-log-path=/usr/local/nginx/logs/error.log\--pid-path=/usr/local/nginx/nginx.pid\--lock-path=/usr/local/nginx/nginx.lock\--user=www\--group=www\--with-http_gzip_static_module\--with-http_stub_status_module\--http-fastcgi-temp-path=/usr/local/nginx/fcgi_temp/\--with-pcre=/usr/src/pcre-8.34如果要添加FastDFS模块,需要加入--add-module=/usr/src/fastdfs-nginx-module/srcmake&&make install将Nginx加入到service中vi/etc/init.d/nginxd新建的文件是空白的,需要加入脚本,脚本中部分配置信息需要根据上面写出的返回信息进行配置------------------------------------脚本区--------------------------------------------------------#!/bin/sh#chkconfig:23455525#Description:Startup script for nginx webserver on Debian.Place in/etc/init.d and#run'update-rc.d-f nginx defaults',or use the appropriate command on your #distro.For CentOS/Redhat run:'chkconfig--add nginx'###BEGIN INIT INFO#Provides:nginx#Required-Start:$all#Required-Stop:$all#Default-Start:2345#Default-Stop:016#Short-Description:starts the nginx web server#Description:starts nginx using start-stop-daemon###END INIT INFOPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="Nginx Server"NAME=nginxDAEMON=/usr/local/nginx/sbin/$NAMECONFIGFILE=/usr/local/nginx/conf/$NAME.confPIDFILE=/usr/local/nginx/$NAME.pidSCRIPTNAME=/etc/init.d/$NAMEset-e[-x"$DAEMON"]||exit0do_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"instart)echo-n"Starting$DESC:$NAME"do_startecho".";;stop)echo-n"Stopping$DESC:$NAME"do_stopecho".";;reload|graceful)echo-n"Reloading$DESC configuration..."do_reloadecho".";;restart)echo-n"Restarting$DESC:$NAME"do_stopdo_startecho".";;*)echo"Usage:$SCRIPTNAME{start|stop|reload|restart}">&2 exit3;;esacexit0------------------------------------脚本区--------------------------------------------------------保存退出,然后需要给脚本权限chmod775/etc/init.d/nginxdchkconfig--add nginxd#让入开机启动服务中,相当于windows的servicechkconfig nginxd on#让其开机自动启动,相当于windows的服务设置为自动service nginxd start#立即启动nginx服务29,安装php因为这里需要安装oci8扩展,因此需要先安装oci8先安装,因为需要oci库的支持oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpmoracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpmrpm-ivh oracle-instantclient*.rpmcd php-5.5.8经验总结:这里建议使用不包含OCI的编译语句,因为这样可以用PHP-OCI8来进行数据库的链接,这样不会出错。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CentOS+Nginx+PHP+MySQL详细配置(带有图解)一、安装MySQL目前web服务器已经很少有跑静态页面的,如果要跑动态网站那当然就离不开数据库,虽然在以前文章中有写MySQL是怎么安装的,但是感觉好久没装MySQL,现在只把步骤贴出来,就不做过多的讲解了#useradd mysql#tar zxvf mysql-5.0.40.tar.gz#cd mysql-5.0.40#./configure --prefix=/usr/local/mysql#make && make install#/usr/local/mysql/bin/mysql_install_db --user=mysql //初始化MySQL数据库#chown -R mysql /usr/local/mysql/var#/usr/local/mysql/bin/mysqld_safe & //启动MySQL#/usr/local/mysql/bin/mysqladmin -u root password 123456 //设置MySQL密码#cp support-files/f /etc/f#echo "/usr/local/mysql/bin/mysqld_safe &" >>/etc/rc.local二、安装PCREPCRE是perl所用到的正则表达式,目的是让所装的软件支持正则表达式。

默认情况下,Nginx只处理静态的网页请求,也就是html.如果是来自动态的网页请求,比如*.php,那么Nginx就要根据正则表达式查询路径,然后把*.PHP交给PHP去处理#rpm -qa | grep pcre //查询系统中有没有安装PCRE,一般装系统是默认装有,所以我们要删掉系统自带的#cp /lib/libpcre.so.0 / //在删除系统自带的PCRE之前,要先备份一下libpcre.so.0这个文件,因为RPM包的关联性太强,在删除后没libpcre.so.0这个文件时我们装PCRE是装不上的#rpm -e --nodeps pcre-6.6-1.1 //删除系统自带的PCRE# tar zxvf pcre-8.00.tar.gz#cd pcre-8.00#cp /libpcre.so.0 /lib/ //把我们删除系统自带的PCRE之前备份的libpcre.so.0拷贝到/lib 目录下#./configure //配置PCRE,因为PCRE是一个库,而不是像pache、php、postfix等这样的程序,所以我们安装时选择默认路径即可,这样会在后面安装其它东西时避免一些不必要的麻烦,执行完这部后会显示出下图,上面显示了我们对PCRE的配置#make && make install三、安装Nginx在网上,看到不少人装Nginx 时非常麻烦,配置时用了一大堆选项,请问你们真实现那么多功能么?害的我越看越郁闷。

此次安装Nginx如果是按着上面笔者的步骤一步步走下来,安装Nginx时只需指定Nginx的安装路径即可#tar zxvf nginx-0.8.24.tar.gz#cd nginx-0.8.24#./configure --prefix=/usr/local/nginx //此处在本环节只需指定一个路径#make && make install#/usr/local/nginx/sbin/nginx //启Nginx#echo "/usr/local/nginx/sbin/nginx" >>/etc/rc.localNginx启动后有两个进程,master为主进程,worker为工作进程,如下图在启动完NGINX后,我们可以在浏览器中输入http://localhost查看,如下图四、安装PHP既然安装PHP,那GD便是不可少的,在此GD的安装不再进行描述1、安装libpng#tar xvf libpng-1.2.10.tar.tar#cd libpng-1.2.10#./configure --prefix=/usr/local/png#make;make install#ln -s /usr/local/png/lib/* /usr/lib/2、安装jpeg#mkdir /usr/local/jpeg#mkdir /usr/local/jpeg/bin#mkdir /usr/local/jpeg/lib#mkdir /usr/local/jpeg/include#mkdir /usr/local/jpeg/man#mkdir /usr/local/jpeg/man/man1#tar xvf jpegsrc.v7.tar.tar#cd jpeg-7#./configure --prefix=/usr/local/jpeg --enable-shared --enable-static#make;make install#ln -s /usr/local/jpeg/lib/* /usr/lib/3、安装freetype#tar xvf freetype-2.3.9.tar.tar#cd freetype-2.3.9#./configure --prefix=/usr/local/freetype#make;make install4、安装fontconfig#tar zxvf fontconfig-2.4.2.tar.gz#cd fontconfig-2.4.2#./configure --prefix=/usr/local/fontconfig --with-freetype-config=/usr/local/freetype/bin/freetype-config#make;make install5、安装GD#tar zxvf gd-2.0.32.tar.gz#cd gd-2.0.32#./configure --prefix=/usr/local/gd --with-png=/usr/local/png --with-jpeg=/usr/local/jpeg --with- freetype=/usr/local/freetype--with-fontconfig=/usr/local/fontconfig#cp /usr/local/png/include/png.h ./#cp /usr/local/png/include/pngconf.h ./#make;make install6、安装PHP这个地方是最重要的地方,因为默认情况下Nginx和PHP他俩之间是一点感觉没有的。

在之前,很多朋友都搭建过Apache+PHP,Apache+PHP编译后生成的是模块文件,而Nginx+PHP需要PHP生成可执行文件才可以,所以要利用fastcgi 技术来实现N ginx与PHP的整合,这个只要我们安装是启用FastCGI即可。

此次我们安装PHP不仅使用了FastCGI,而且还使用了PHP-FPM这么一个东东,PHP-FPM说白了是一个管理FastCGI的一个管理器,它作为PHP的插件纯在,在安装PHP 要想使用PHP-FPM时就需要把PHP-FPM以补丁的形式安装到PHP中,而且PHP要与PHP-FPM版本一致,这是必须的,切记!首先我们把PHP和PHP-FPM下载到同一目录下,此次用的为php-5.3.0.tar.bz2和php-5.3.0-fpm-0.5.12.diff.gz,下载到了同一目录下#tar xvf php-5.3.0.tar.bz2#gzip -cd php-5.3.0-fpm-0.5.12.diff.gz | patch -d php-5.3.0 -p1 //将php-5.3.0-fpm-0.5.12.diff.gz以补丁形式加到php-5.3.0里面#cd php-5.3.0#./configure --prefix=/usr/local/php --with-gd=/usr/local/gd --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/png--with-freetype-dir=/usr/local/freetype --with-mysql=/usr/local/mysql --enable-fastcgi --enable-fpm注:Nginx+PHP整合,在安装时必须启用--enable-fastcgi和--enable-fpm,这两个选项是做什么的上面已经描述。

执行完后系统会提示--enable-fastcgi是一个未知选项,我们不必理会#make#make install#cp php.ini-dist /usr/local/php/etc/php.ini下面我们就要启动PHP-FPM#/usr/local/php/sbin/php-fpm start在启动PHP-FPM时会报上面这个错误,原因是PHP-FPM自己不知道以那个用户和组运行PHP,所以我们要修改一个文件,把文件中的注释去掉即可(打开文件把红色部分删除),然后PHP-FPM会以nobody用户和组去运行PHP。

#vi /usr/local/php/etc/php-fpm.conf#/usr/local/php/sbin/php-fpm start#ps -aux | grep php#echo "/usr/local/php/sbin/php-fpm start" >>/etc/rc.local五、整合Nginx与PHP上面已经讲过,Nginx自己并不处理动态网页的请求,而且Nginx将得到的动态请求转交给PHP,下面我们打开Nginx的配置文件看一下#vi /usr/local/nginx/conf/nginx.conf //标的部分是我们后面要修改的看上图,Nginx已经知道怎么把得到的请求传达给PHP,Nginx在得到*.php请求时,会把请求通过9000端口传给PHP。

下面我们把这些注释给去掉即可,如下图注:上面的/usr/local/nginx/html 是我们PHP网站放置的路径那么只有Nginx自己知道咋找PHP了还不行,还需要PHP知道咋找Nginx,PS:你见过大街上的JJMM约会时有不是相互认识对方,或者是不知道用啥方法和对方接头的?这点我们不需要担心,PHP-FPM已经在配置文件中定义了从哪接受PHP 请求,我们可以打开配置文件看一下#vi /usr/local/php/etc/php-fpm.conf如上图所示,我们在前面已经看到过Nginx是通过本机的9000端口将PHP请求转发给PHP的,而上图我们可以看到PHP自己是从本机的9000端口侦听数据,Nginx与PHP通过本机的9000端口完成了数据请求。

相关文档
最新文档