linux 安装nginx php mysql 配置文件在哪_linux下 php+nginx+mysql安装配置

我主要是用来安装php,以及nginx和php的交互。

一 安装插件

可以选择YUM安装或者源码编译安装gccgcc-c++zlib

pcre

pcre-devel

libevent

libevent-devel

libxml2

libxml2-devel

libmcrypt

libmcrypt-devel

curl-devel

libpng-devel

libtool-ltdl-devel

gd-devel

openssl

openssl-devel

ncurses-devel

cmake

mysql-devel

20150130

二 安装mysql

20150130

tar -zxvf mysql-5.5.25.tar.gz

将mysql包解压 然后放入你想要mysql的安装位置 如本例中的/usr/local/webserver/mysql cmake命令需要这个路径cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql \-DMYSQL_DATADIR=/user/local/webserver/mysql/data \-DSYSCONFDIR=/etc \-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=/tmp/mysqld.sock \-DMYSQL_TCP_PORT=3306\-DWITH_DEBUG=0\-DENABLED_LOCAL_INFILE=1回车执行,执行完成后继续执行make && makeinstall#设置Mysql

#在support-files目录中有五个配置信息文件(这里很重要,一定要根据自己的内存复制对应的cnf文件,否则mysql始终起不来):

#my-small.cnf (内存<=64M)

#my-medium.cnf (内存 128M)

#my-large.cnf (内存 512M)

#my-huge.cnf (内存 1G-2G)

#my-innodb-heavy-4G.cnf (内存 4GB)

cd/usr/local/webserver/mysqlcp ./support-files/my-huge.cnf /etc/my.cnf

vi/etc/my.cnf

#在 [mysqld] 段增加

datadir= /usr/local/webserver/mysql/datawait-timeout = 30max_connections= 512default-storage-engine =MyISAM

#在 [mysqld] 段修改

max_allowed_packet=16M//添加mysql运行的用户和用户组groupadd mysql

useradd-g mysql mysql -s /bin/false -d /home/mysql //没有shell,不可本机登陆(安全起见)cd/usr/local/webserver/mysqlchown -R root .chown -R mysql datachgrp -R mysql .//生成新的mysql授权表//进入mysql安装目录下的脚本目录 cd /usr/local/webserver/mysql/scripts//利用mysql_install_db脚本生成新的mysql授权表 ./mysql_install_db --basedir=/usr/local/webserver/mysql --datadir=/usr/local/webserver/mysql/data --user=mysql//mysql server在系统中的服务项设置//复制服务文件并修改 cd /usr/local/webserver/mysql/support-filescpmysql.server mysqld//修改mysqld basedir=/usr/local/webserver/mysql

datadir=/usr/local/webserver/mysql/datamv mysqld /etc/init.d/mysqldchmod755 /etc/init.d/mysqld

进行上述操作后 我们可以用 service mysqld start 来启动mysql服务了//设置软连接使mysql, mysqldump, mysqladmin这三个bin命令能在shell中直接运行sudoln -s /usr/local/webserver/mysql/bin/mysql /usr/binsudoln -s /usr/local/webserver/mysql/bin/mysqldump /usr/binsudoln -s /usr/local/webserver/mysql/bin/mysqladmin /usr/binrm -rf /etc/mysql/my.cnf 因为已经把此文件复制到/etc/my.cnf 如果不删除的话,mysql启动不起来。/etc/init.d/mysqld start//设置root密码 mysqladmin -u root password "admin"//mysql数据库中文乱码解决 vi /etc/my.cnf//然后在[mysqld]配置选项下添加 character-set-server=utf8//然后进入mysql cd /usr/local/webserver/mysql/bin

mysql-u root -p

提示输入密码

mysql> show variables like '%character%';

20150130

三 安装Nginx

20150130

#tar zxvf nginx-0.8.24.tar.gz

#cd nginx-0.8.24#./configure --prefix=/usr/local/nginx //此处在本环节只需指定一个路径 #make && makeinstall#/usr/local/nginx/sbin/nginx //启Nginx编写服务脚本(服务脚本请勿复制 请在linux下写入 不然回车换行符会引起异常)

vi/etc/init.d/nginx

把下列内容写入文件并保存 #!/bin/bash

# nginx Startup script for the Nginx HTTP Server

# this script create it by gcec at 2009.10.22.

# it is v.0.0.1 version.

# if you find any errors on this scripts,please contact gcec cyz.

# and send mail to support at gcec dot cc.

#

# chkconfig: - 85 15

# description: Nginx is a high-performance web and proxy server.

# It has a lot of features, but it's not for everyone.

# processname: nginx

# pidfile: /var/run/nginx.pid

# config: /usr/local/nginx/conf/nginx.conf

nginxd=/usr/local/nginx/sbin/nginx #这里设置为你安装nginx的执行文件位置

nginx_config=/usr/local/nginx/conf/nginx.conf #这里设置为你nginx的配置文件位置

nginx_pid=/var/run/nginx.pid

RETVAL=0

prog="nginx"

# Source function library.

. /etc/rc.d/init.d/functions

# Source networking configuration.

. /etc/sysconfig/network

# Check that networking is up.

[ ${NETWORKING} = "no" ] && exit 0

[ -x $nginxd ] || exit 0

# Start nginx daemons functions.

start() {

if [ -e $nginx_pid ];then

echo "nginx already running...."

exit 1

fi

echo -n $"Starting $prog: "

daemon $nginxd -c ${nginx_config}

RETVAL=$?

echo

[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx

return $RETVAL

}

# Stop nginx daemons functions.

stop() {

echo -n $"Stopping $prog: "

killproc $nginxd

RETVAL=$?

echo

[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid

}

# reload nginx service functions.

reload() {

echo -n $"Reloading $prog: "

#kill -HUP `cat ${nginx_pid}`

killproc $nginxd -HUP

RETVAL=$?

echo

}

# See how we were called.

case "$1" in

start)

start

;;

stop)

stop

;;

reload)

reload

;;

restart)

stop

start

;;

status)

status $prog

RETVAL=$?

;;

*)

echo $"Usage: $prog {start|stop|restart|reload|status|help}"

exit 1

esacexit $RETVAL 保存之后 赋予文件权限

chmod 755 /etc/init.d/nginx

我们就可以通过service nginx start 来启动服务了

20150130

四 安装php

20150130

create user and group forfpm(fastcgi process manager)

groupadd fpm

useradd--shell /sbin/nologin -g fpm fpm

download, configure andinstall php5.3.3wget http://www.php.net/distributions/php-5.3.3.tar.gztar zxvf php-5.3.3.tar.gz

cd php-5.3.3

[直接复制]

./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=fpm --with-fpm-group=fpm --with-config-file-path=/usr/local/php/lib --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --without-pdo-sqlite --without-sqlite3 --without-sqlite --with-curl --enable-mbstring --with-mhash --with-mcrypt --with-openssl --with-gd --enable-sockets --with-gettext --with-zlib --enable-zip --enable-soap --with-xmlrpc --with-freetype-dir=/usr/local/freetype --enable-gd-native-ttf

--disable-fileinfo

中途错误需要yum install几个依赖包[手敲版]

./configure --prefix=/usr/local/php \--enable-fpm \--with-fpm-user=fpm \--with-fpm-group=fpm \ --with-config-file-path=/usr/local/php/lib #这里是配置放php.ini的存放位置--with-mysql=mysqlnd \--with-mysqli=mysqlnd \--with-pdo-mysql=mysqlnd \--without-pdo-sqlite \--without-sqlite3 \--without-sqlite \--with-mysql-sock=/tmp/mysql.sock \--with-curl \--enable-mbstring \--with-mhash \--with-mcrypt \--with-openssl \--with-gd \--enable-sockets \--with-gettext \--with-zlib \--enable-zip\--enable-soap \--with-xmlrpc \

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

--enable-gd-native-ttf \ --with-jpeg-dir=/usr/lib64 #64位系统lib64 32位系统lib32make && makeinstall

make出现错误virtual memory exhausted: Cannot allocate memory,在configure上加上–disable-fileinfo

如果出现mysql_config not found的错误

解决办法: vi /etc/profile 在最后加入一行 export PATH="$PATH:/usr/local/mysql/bin" 这个是你的mysql安装到的目录

20150130

五 配置php

20150130

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

复制源码包里的php.ini-development到/usr/local/php/lib vi php-fpm.conf

找到"listen=" 修改为 listen = /dev/shm/php-fpm.sock (要求php版本5.3以上 该方式为使用sock文件监听)

cp /backup/php-5.3.3/php.ini-development /usr/local/php/lib/php.ini

启动php

/usr/local/php/sbin/php-fpm 如果设置路径正确,php.ini文件也存在,还无法加载php.ini的话 修改启动命令 /usr/local/php/sbin/php-fpm -c /etc/php.ini编写服务脚本(服务脚本请勿复制 请在linux下写入 不然回车换行符会引起异常)

touch /etc/init.d/phpfpm

vim /etc/init.d/phpfpm

内容如下:

#!/bin/bash

start() {

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

/bin/echo 'starting php listener ---[ok]'

}

stop() {

/usr/bin/pkill php-fpm

/bin/echo 'stopping php listener ---[ok]'

}

case "$1" in

start)

start

;;

stop)

stop

;;

restart)

stop

start

;;

*)

echo 'usage:start/stop/restart'

exit 0

;;

esac

保存退出

然后 就能通过 service phpfpm start/stop/restart 来启动监听

20150130

六 配置Nginx

20150130

cat /usr/local/php/etc/php-fpm.conf

查看端口 为 127.0.0.1:9000

修改nginx配置文件 /usr/local/nginx/conf/nginx.conf# location / { //一定要注掉这部分,否则会不解析PHP文件,而会下载 了

# root html;

# index index.html index.htm;

#}

location~ \.php {

root    www; #这是你网站的根目录

fastcgi_pass  127.0.0.1:9000; #这里指定了fastcgi进程侦听的端口,nginx就是通过这里与php交互的

#fastcgi_pass unix:/dev/shm/php-fpm.sock;

fastcgi_index  index.php;   fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

#因为SCRIPT_FILENAME在配置中是写死的并没有随着$doucument_root变化而变化,我们可以修改SCRIPT_FILENAME配置如下 #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include    fastcgi_params;

} 重启nginx服务

/usr/local/nginx/sbin/nginx -s reload

在/usr/local/nginx下创建www目录

mkdir www

新建一个index.php文件

cd www

vim index.php

写入

访问服务器 如果起作用就说明配置成功

20150130

七 设置php nginx mysql 自启动

20150130

我想在centos里不启用图形界面

那么选择系统运行级别为2或者3的 推荐3在配置之前 我们先检查下 /etc/init.d中有没有我们mysql,php,nginx的服务脚本 如果没有的话 先配置再做下列操作

如以上 mysqld , nginx, phpfpm 这3个脚本都编写好 并且放入/etc/init.d下的话 我们来配置一下自启动

我想通过一个服务来启动这3个服务那么再写一个脚本就可以了

注意:system类型的服务都可以用service来启动,用chkconfig来add 和del

但是有些自己配置的服务在用chkconfig来配置到时候会提示: “service XX does not support chkconfig”

这一般都是script不符合格式造成的,解决如下,

在script开始加入两行内容即可:

# chkconfig: - 85 15

# description: this is a World Wide Web server.

mv /etc/init.d/mysqld /etc/init.d/webapp-mysqldmv /etc/init.d/nginx /etc/init.d/webapp-nginxmv /etc/init.d/phpfpm /etc/init.d/webapp-phpfpmtouch /etc/init.d/webappvim /etc/init.d/webapp写入以下脚本

#!/bin/bash

# chkconfig: - 85 15

# description: this is a World Wide Web server.

ACTION=$1

if [ "$ACTION" = "" ] || [ "$ACTION" = "start" ];then

#start php listeners

/sbin/service webapp-phpfpm start

#start nginx service

/sbin/service webapp-nginx start

#start mysql service

/sbin/service webapp-mysqld start

echo "web applications[mysql,nginx,php] is running now !"

elif [ "$ACTION" = "stop" ];then

/sbin/service webapp-phpfpm stop

/sbin/service webapp-nginx stop

/sbin/service webapp-mysqld stop

echo 'web application stopped'

else

echo "use start or stop or none after your service command"

fi

添加系统服务开机启动

chkconfig --add webapp(注意在/etc/init.d下的服务脚本必须加入#chkconfig 和 #description的内容才能够在这里支持chkconfig命令,以上已经提到过)

chkconfig --level 3 webapp on

这样我们的lamp的架构就配置成功了

说明:

语法为:

chkconfig --list [name] 用来列表服务

chkconfig --add name 用来添加服务

chkconfig --del name 用来删除服务

chkconfig [--level levels] name 改变启动信息以及检查特定服务的启动状态。

on 和 off 分别指服务在改变运行级时的启动和停止。reset 指初始化服务信息。

对于 on 和 off 开关,系统默认只对运行级 3,4, 5有效,但是 reset 可以对所有运行级有效。

以上就介绍了linux下 php+nginx+mysql安装配置,包括了mysql安装方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/263895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JDBC原理之层次结构

目录 JDBC的层次结构前言Collection角色Statement角色ResultSet角色JDBC工作的基本流程JDBC的层次结构 前言 JDBC API提供了以下接口和类&#xff1a; DriverManager: 这个类管理数据库驱动程序的列表。确定内容是否符合从Java应用程序使用的通信子协议正确的数据库驱动程序的连…

DES加密/解密

1 /// <summary>2 /// DES加密(数据加密标准&#xff0c;速度较快&#xff0c;适用于加密大量数据的场合)3 /// </summary>4 /// <param name"EncryptString">待加密的密文</param>5 /// <param name&qu…

Spring中使用Spark连接的DataSource

在Spring中配置Spark hive-thriftserver的连接DataSource与配置其他数据源连接方式是一样的&#xff0c;如一般Oracle数据源配置&#xff0c;使用如下必须的Jar包&#xff1a;使用JDBC程序示例&#xff1a;package com.hadoop.test;import java.sql.Connection; import java.sq…

多语言制作工具(2013-01-24更新,支持VS2005、2008、2010、2012)(已开源)

前一段时间&#xff0c;制作了一个多语言资源文件制作工具&#xff0c;现在把这个工具集成到VS2005、VS2008&#xff0c;vs2010中&#xff0c;以增加VS自身资源编辑界面&#xff0c;对多资源编辑的麻烦&#xff0c;简化多语言资源文件的制作。 这个插件是和VS的项目绑定的&…

Flatten Binary Tree to Linked List (DFS)

Given a binary tree, flatten it to a linked list in-place. For example,Given 1/ \2 5/ \ \3 4 6The flattened tree should look like: 1\2\3\4\5\6代码&#xff1a; class Solution{ public:void flatten(TreeNode *root) {if(rootNULL) return;TreeNode* proot-…

mysql 回表查询优化_MySQL优化:如何避免回表查询?什么是索引覆盖?

转自&#xff1a;https://mp.weixin.qq.com/s?__bizMjM5ODYxMDA5OQ&mid2651962609&idx1&sn46e59691257188d33a91648640bcffa5&chksmbd2d092d8a5a803baea59510259b28f0669dbb72b6a5e90a465205e9497e5173d13e3bb51b19&mpshare1&scene1&srcid&sh…

安装 Windows 自动化 API 3.0 后,Visual Studio 2010 的运行速度更快

安装 Windows 自动化 API 3.0 后&#xff0c;Visual Studio 2010 的运行速度更快 本文适用于以下产品&#xff1a; Microsoft Visual Studio 2010如果未安装 Windows 自动化 API 3.0&#xff0c;则使用 Windows 自动化 API 的应用程序会明显降低 Microsoft Visual Studio Inte…

使用ASP.Net WebAPI构建REST服务(一)——简单的示例

由于给予REST的Web服务非常简单易用&#xff0c;它越来越成为企业后端服务集成的首选方法。本文这里介绍一下如何通过微软的Asp.Net WebAPI快速构建REST-ful 服务。 首先创建一个Asp.Net Web应用程序&#xff08;我这里用的是Visual Studio 2013&#xff0c;它已经内置了Web AP…

告别花瓶:2015年智能电视路在何方?

智能手机与平板在IT市场风生水起&#xff0c;让几岁小孩到大爷大妈们都对玩手机、平板乐此不彼。曾经辉煌几十年的电视行业&#xff0c;如今又重新融合了智能系统以全新的面貌出现在人们面前。多家互联网企业对这一“翻新”的市场虎视眈眈&#xff0c;并推出了多款智能电视。但…

文件类型

转载于:https://www.cnblogs.com/hlc-123/p/10958326.html

灾备还缺一套评价体系

1月10日&#xff0c;灾备技术产业联盟正式成立。这样一个中立的、由业内众多厂商和大型用户组成的、以服务为宗旨的联盟将为我国灾备技术和应用的规范化发展做出积极贡献。经过一年多的酝酿、历经7次筹备会议&#xff0c;由华为、北京邮电大学、中治研国际信息技术研究院和中国…

DFS知识点

2019-06-01 11:14:34 加油&#xff0c;坚持&#xff01;&#xff01;&#xff01; 1. 2. 3. 转载于:https://www.cnblogs.com/Artimis-fightting/p/10960409.html

Android 反射获取内外置存储卡方法

2019独角兽企业重金招聘Python工程师标准>>> 以前的Android(4.1之前的版本)中&#xff0c;SDcard跟路径通过“/sdcard”或者“/mnt/sdcard”来表示存储卡&#xff0c;而在Jelly Bean系统中修改为了“/storage/sdcard0”&#xff0c;以后可能还会有多个SDcard的情况。…

docker安装mysql redis_Docker安装Mysql和Redis以及构建部署应用镜像

为了方便本地测试项目&#xff0c;为了方便开启新的环境&#xff0c;为了方便部署&#xff0c;打算本地利用Docker安装Mysql和Redis。搭建Springboot项目&#xff0c;编写Dockerfile&#xff0c;打包构建镜像。简单使用docker-compose启动服务。简述docker-compose和K8S。环境系…

Windows 下查看端口占用情况 netstat / tasklist / findstr

为什么80%的码农都做不了架构师&#xff1f;>>> Windows服务器不熟悉很多&#xff0c;尤其是防火墙这块。不过其实和Linux一样&#xff0c;省事的话就是关了就好了。不过对于端口占用还是时常有的&#xff0c;比如QQ音乐&#xff0c;迅雷这些&#xff0c;如果你的电…

2015 年度计划

2019独角兽企业重金招聘Python工程师标准>>> scala -> akka -> sparketcd 使用开源产品 negroni https://github.com/codegangsta/negroni转载于:https://my.oschina.net/kuerant/blog/372981

php透明颜色的代码,PHP imagecolorallocatealpha - 为一幅图像分配颜色和透明度

PHP imagecolorallocatealpha - 为一幅图像分配颜色和透明度imagecolorallocatealpha — 为一幅图像分配颜色和透明度。语法int imagecolorallocatealpha ( resource $image , int $red , int $green , int $blue , int $alpha )imagecolorallocatealpha() 的行为和 imagecolor…

Windows on Device 项目实践 4 - 智能风扇制作

在前面的文章中&#xff0c;我们已经学习并且利用Intel Galileo开发板和Windows on Device制作了火焰报警器、感光灯和PWM调光灯。在这个项目中&#xff0c;我们来利用温度传感器和直流电机&#xff0c;完成一个简单的智能风扇的制作。 1. 温度传感器 LM35 是很常用且易用的温度…

php接口异常,api接口异常怎么办

异常&#xff1a;在程序开发过程中出现的不正常情况&#xff0c;就是异常。比如除数是0&#xff0c;参数为null&#xff0c;调用参数的成员变量或者方法&#xff0c;数组下标越界。异常分为两大类型&#xff1a;(1)Exception&#xff1a;程序员可以解决的&#xff1a;空指针&am…

【吐槽】博客园新的原创文章在搜索引擎的排名不及转载的站点

最近写博客比较多&#xff0c;但发现文章被一些网站转载后&#xff0c;排名比博客园的链接还要高&#xff0c;有些搜索引擎甚至连博客园的链接都没有&#xff0c;坑爹&#xff0c;坑爹。。。 以前博客园的网友也遇到过类似的情况&#xff0c;也分享过一些防转载的经验&#xff…