LNMP安装与配置
- 格式:doc
- 大小:394.50 KB
- 文档页数:17
LNMP环境配置(1)安装Nginx、MySQL、PHP概念LNMP是Linux Nginx MySQL PHP 的简写,把Nginx、MySQL 以及PHP安装在Linux系统上,组成一个环境来运行PHP的脚本语言。
Nginx是类似Apache的一种Web服务软件MySQL是比较小型的数据库软件Apache和PHP需要在同一台机器上(先安装c编译语言)安装MySQL切换目录下载源码包解压给文件改名挪动位置建立MySQL用户创建datadir,数据库文件会放到这里面更改权限可能的安装包(出现错误)最后(出现两个ok)复制配置文件配置文件# vi /etc/fbasedir是MySQL包所在路径datadir是定义的存放数据的地方port定义MySQL服务监听的端口(默认是3306)server_id定义ID号socket定义服务监听的的套接字地址复制启动脚本文件并修改其属性修改启动脚本# vi /etc/init.d/mysqld把启动脚本加入系统服务项,设定开机启动检查MySQL是否启动(大于两行)安装PHP下载PHP配置编译选项./configure \> --prefix=/usr/local/php-fpm \> --with-config-file-path=/usr/local/php-fpm/etc \ > --enable-fpm \> --with-fpm-user=php-fpm \> --with-fpm-group=php-fpm \> --with-mysql=/usr/local/mysql \> --with-mysql-sock=/tmp/mysql.sock \> --with-libxml-dir \> --with-gd \> --with-jpeg-dir \> --with-png-dir \> --with-freetype-dir \> --with-iconv-dir \> --with-zlib-dir \> --with-mcrypt \> --enable-soap \> --enable-gd-native-ttf \> --enable-ftp \> --enable-mbstring \> --enable-exif \> --disable-ipv6 \> --with-pear \> --with-curl \> --with-openssl可能出现的错误编译安装修改配置文件# cp php.ini-production /usr/local/php-fpm/etc/php.ini # vi /usr/local/php-fpm/etc/php-fpm.conf写入以下内容[global]pid = /usr/local/php-fpm/var/run/php-fpm.piderror_log = /usr/local/php-fpm/var/log/php-fpm.log [www]listen = /tmp/php-fcgi.socklisten.mode = 666user = php-fpmgroup = php-fpmpm = dynamicpm.max_children = 50pm.start_servers = 20pm.min_spare_servers = 5pm.max_spare_servers = 35pm.max_requests = 500rlimit_files =1024检验配置是否正确复制配置文件# cp /usr/local/src/php-5.6.30/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm设置权限# chmod 755 /etc/init.d/php-fpm创建用户# useradd -s /sbin/nologin php-fpm启动php-fpm设置开机启动检测是否启动安装Nginx下载nginx解压配置编译选项编译和安装编写启动脚本加入以下内容#!/bin/bash# chkconfig: - 30 21# description: http service.# Source Function Library. /etc/init.d/functions# Nginx SettingsNGINX_SBIN="/usr/local/nginx/sbin/nginx"NGINX_CONF="/usr/local/nginx/conf/nginx.conf"NGINX_PID="/usr/local/nginx/logs/nginx.pid"RETVAL=0prog="Nginx"start(){echo -n $"Starting $prog: "mkdir -p /dev/shm/nginx_tempdaemon $NGINX_SBIN -c $NGINX_CONF RETVAL=$?echoreturn $RETVAL}stop(){echo -n $"Stopping $prog: "killproc -p $NGINX_PID $NGINX_SBIN -TERM rm -rf /dev/shm/nginx_tempRETVAL=$?echoreturn $RETVAL}reload(){echo -n $"Reloading $prog: "killproc -p $NGINX_PID $NGINX_SBIN -HUP RETVAL=$?echoreturn $RETVAL}restart(){stopstart}configtest(){$NGINX_SBIN -c $NGINX_CONF -treturn 0}case "$1" instart)start;;stop)stop;;reload)reload;;restart)restart;;configtest)configtest;;*)echo $"Usage: $0 {start|stop|reload|restart|configtest}" RETVAL=1esacexit $RETVAL保存后更改权限设置开机启动更改配置文件清空配置文件编写启动脚本# vi /usr/local/nginx/conf/nginx.conf加入以下内容user nobody nobody;worker_processes 2;error_log /usr/local/nginx/logs/nginx_error.log crit;pid /usr/local/nginx/logs/nginx.pid;worker_rlimit_nofile 51200;events{use epoll;worker_connections 6000;}http{include mime.types;default_type application/octet-stream;server_names_hash_bucket_size 3526;server_names_hash_max_size 4096;log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'' $host "$request_uri" $status'' "$http_referer" "$http_user_agent"';sendfile on;tcp_nopush on;keepalive_timeout 30;client_header_timeout 3m;client_body_timeout 3m;send_timeout 3m;connection_pool_size 256;client_header_buffer_size 1k;large_client_header_buffers 8 4k;request_pool_size 4k;output_buffers 4 32k;postpone_output 1460;client_max_body_size 10m;client_body_buffer_size 256k;client_body_temp_path /usr/local/nginx/client_body_temp;proxy_temp_path /usr/local/nginx/proxy_temp;fastcgi_temp_path /usr/local/nginx/fastcgi_temp;fastcgi_intercept_errors on;tcp_nodelay on;gzip on;gzip_min_length 1k;gzip_buffers 4 8k;gzip_comp_level 5;gzip_http_version 1.1;gzip_types text/plain application/x-javascript text/css text/htmapplication/xml;server{listen 80;server_name localhost;index index.html index.htm index.php;root /usr/local/nginx/html;location ~ \.php${include fastcgi_params;fastcgi_pass unix:/tmp/php-fcgi.sock;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;}}}检验配置启动nginx检测是否启动测试能否正确解析测试。
如何搭建LNMP环境(LinuxNginxMySqlPhp)来运行Wordpress一、前言今天是周六,积累了很多天的内容都要在今天来释放了,因为最近想弄一个自己的主页,查看网上之后,都说wordpress很不错,他是一个开源的后台程序,可以用来搭建自己的博客,论坛等功能。
但是有一个蛋疼的地方,他是php写的,之前只弄过JavaWeb相关的后台程序,php不太熟呢,以前也是搭建过Linux Apache Tomcat JavaWeb MySql,那么这次也正好是一个机会学习一下如何搭建后台PHP系统,这里也是网上比较流行的后台系统组合:Linux Nginx MySql Php。
下面我们就先来看看这个如何搭建,以及搭建完成之后,如何把wordpress程序部署到服务器上,然后运行。
二、工具我们在搭建系统的时候可以选择在本地,也可以选择在服务器上弄,因为我之前买了一个服务器,所以就没有在本地折腾了,就直接在服务器上开搞了。
本地的话其实操作方便点。
如果在服务器上直接操刀的话,还需要借助两个工具:SecureCRT,SecureFX。
这两个工具主要用于和服务器进行交互的,其中SecureCRT主要是连接服务器终端,执行命令的,SecureFX 主要是连接服务端进行文件传输的。
但是可惜的是,这两个软件是要收费的,所以需要去弄一个破解版的,其实这个网上有很多了,这里还是贴出来我用的吧:/s/1ge1JY3h;安装了这两个软件之后,我们可以进行连接服务器了,如下图:那么接下来我们就来一一安装所需要的软件(这里统一将所有的软件包放到服务器上的/usr/local/work目录下面,其中work目录是我新建的,你们可以随意起名称,然后将所有的软件都安装在/usr/local/XXX目录中,XXX代表软件目录):三、安装Nginx1、安装openssl软件下载地址,后面给出使用SecureFX软件将下载下来的tar.gz包传到服务器上的/usr/local/work下面这时候使用SecureCRT输入命令行进行解压tar.gz包:>cd /usr/local/work>tar -zxvf openssl-1.0.2a.tar.gz解压完成之后,进入解压目录,进行安装:>cd openssl-1.0.2a>./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl/conf这里./config是设置安装前的配置信息,后面都是用这个命令的,其中:--prefix是用来配置安装目录的运行之后,在执行编译和安装操作>make && make install这里make是编译,make install是安装,我们这里都是用源码来安装软件的,所以需要释放源码,编译,安装这三个步骤。
LNMP完整安装教程软件下载地址 https:///install.html本环境与外⽹⽣产环境⼀致(MySQL 5.6 + PHP 7.1 + CentOS + Nginx 1.12 )上图红⾊箭头的两个地⽅,对应的详细配置,请参考以下两张图打开终端,输⼊ init 3 ,切换到命令⾏模式取消系统的休眠模式执⾏命令 vi /etc/X11/xorg.conf ,新增以下内容Section "ServerFlags"Option "BlankTime" "0"Option "StandbyTime" "0"Option "SuspendTime" "0"Option "OffTime" "0"EndSectionSection "Monitor"Option "DPMS" "false"EndSection关闭防⽕墙,执⾏命令 systemctl disable firewalld.service默认以命令⾏模式启动,执⾏命令 systemctl set-default multi-user.target 下载lnmp⼀件安装包,放⼊ /usr/local/src执⾏命令 cd /usr/local/src执⾏命令 tar zxf lnmp1.6-full.tar.gz执⾏命令 cd /usr/local/src/lnmp1.6-full执⾏命令 ./install.sh执⾏命令 cd /usr/local/src/lnmp1.6-full执⾏命令 ./addons.sh注释掉PHP授权⽬录设置(注释掉 fastcgi.conf ⽂件最后⼀⾏话)执⾏命令 cd /usr/local/nginx/conf执⾏命令 vi fastcgi.conf执⾏命令 nginx -s reload。
LNMP安装笔记环境:mysql-5.1.59.tar.gzpcre-8.12.tar.gznginx-1.1.6.tar.gzphp-5.2.17.tar.gzphp-5.2.17-fpm-0.5.14.diff.gz首先安装编译环境yum –y install gcc gcc-c++ autoconf automake一般装完系统的都会有的然后安装Nginx需要的一些库文件Yum –y install zlib zlib-devel openssl openssl-devel pcre pcre-devel如果装系统的时候安装了开发库,,这些装完系统就会有的不过系统自带的pcre版本比较老,需要重新安装一下新的版本1.首先安装MysqlTar –zxvf mysql-5.1.59.tar.gz./configure –prefix=/usr/local/mysql –with-charset=gbk –with-xcharset=all Make && make installUseradd mysql/usr/local/mysql/bin/mysql_install_db --user=mysqlchown -R mysql /usr/local/mysql/var/usr/local/mysql/bin/mysqld_safe &/usr/local/mysql/bin/mysqladmin -u root password 123456Cp support-files/f /etc/fVim /etc/f在[client]下面加入default-character-set=utf8这样Mysql就能完全支持中文了echo "/usr/local/mysql/bin/mysqld_safe &" >>/etc/rc.local2.安装Nginx安装Nginx之前,需要重新安装一下PRCETar –zxvf pcre-8.12.tar.gz./configureMake && make install开始安装NginxTar –zxvf nginx-1.1.6.tar.gz./configure –prefix=/usr/local/nginxMake && make installecho "/usr/local/nginx/sbin/nginx" >>/etc/rc.local这个时候Nginx就装好了,打开http://localhost测试出现Welcome to nginx!表示安装成功!3.安装PHP需要的库文件Libpng jpeg pegsrc.v7 freetype fontconfig gd这些库文件包括对应的devel开发库也是需要装的,因为我装系统的时候装了开发库,所以这些库文件都已经装好了,下面我们开始装PHP这个地方是最重要的地方,因为默认情况下Nginx和PHP他俩之间是一点感觉没有的。
配置nginx1.安装CentOs系统2.系统安装完成后、直接进入root用户;(安装nginx流媒体服务器)a)将nginx文件夹拷到root用户文件夹下;b)打开终端执行:yum -y install wget tar gcc* libssl* pcre* openssl* popt*c)等待下载安装完成从终端进入nginx文件夹下的nginx-1.0.10文件夹执行:cd /nginx/nginx-1.0.10d)执行:useradd streame)执行:./configure--prefix=/usr/local/nginx --user=stream--group=stream--with-http_stub_status_module --with-http_flv_module--add-module=./nginx_mod_h264_streaming-2.2.7--add-module=./nginx-accesskey-2.0.3 --with-http_ssl_module --with-cc-opt='-O3'f)等待编译完成执行:make && make installg)等待安装完成执行:wget -c /lnmp/ext/init.d.nginxcp init.d.nginx /etc/init.d/nginxchmod +x /etc/init.d/nginxchkconfig --add /etc/init.d/nginx/etc/init.d/nginx starth)将nginx文件夹下的nginx.conf文件拷贝到usr/local/nginx/conf目录下替换原有的文件i)执行:service nginx reload3.将nagios文件夹拷贝到root用户文件夹下a)进入nagios文件夹;打开nrpe_Chlient.sh一句一句执行;即可;4.打开SSHa)系统 管理->防火墙【可信服务】:勾选DNS、SSH、WWW(HTTP)选项【其他服务】:勾选自定义端口,填入8899,【确定】;然后再点击【应用】弹出警告框,选择【是】b)进入etc->ssh下的sshd_config文件;找到Port,去掉注释,再将22改为8899,保存关闭c)执行:service sshd restart在浏览器中输入http://localhost出现下图,nginx配置成功流媒体节点服务器配置完毕!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!如果出现403 那就是usr/local/nginx/html没有权限chmod 755 html执行如下命令,即可重启: # /usr/local/nginx/sbin/nginx -s reload配置mysql#useradd mysql#tar zxvf mysql-5.0.40.tar.gz#cd mysql-5.0.40#./configure --prefix=/usr/local/mysql--with-charset=gbk --with-collation=gbk_chinese_ci --with-extra-charsets=complex如果出现error:no curses/termcap Libran/foundyum –y install ncurses-devel#make && make install#/usr/local/mysql/bin/mysql_install_db--user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data//初始化MySQL数据库#chown -R mysql /usr/local/mysql/var#/usr/local/mysql/bin/mysqld_safe & //启动MySQL[root@delphi mysql-5.0.41]# nohup: 忽略输入重定向错误到标准输出端Starting mysqld daemon with databases from /usr/local/mysql/var #表示数据存放路径。
lnmp简单案例下面就给你整一个超简单的LNMP案例,就像讲故事一样,保证你轻松理解。
一、啥是LNMP呢?先简单说一下,LNMP就是由Linux操作系统、Nginx服务器、MySQL数据库和PHP 编程语言组成的一个超棒的网络应用环境。
这几个家伙凑一块儿,就能让好多超酷的网站跑起来啦。
二、案例场景搭建一个超简单的博客网站。
1. 准备工作安装Linux操作系统。
咱就假设你已经有一台服务器或者虚拟机装了Linux系统,像CentOS或者Ubuntu都挺不错的。
要是没有,那就像搭积木一样先装一个呗。
2. 安装Nginx。
在Linux系统里打开命令行(就像打开一个魔法盒子,你输入指令就能让电脑干各种事儿)。
对于CentOS系统,你可以输入像这样的命令(当然要先确保你有足够的权限哦,一般用sudo或者切换到root用户):`yum install nginx -y`。
这个命令就像是告诉电脑:“电脑兄,给我把Nginx 装上,别啰嗦。
”对于Ubuntu系统呢,就是 `apt get install nginx -y`。
安装好之后,你可以通过浏览器访问你的服务器IP地址,如果看到了Nginx的欢迎页面,那就说明Nginx 安装成功啦,就像你敲开了一扇通往博客世界的大门。
3. 安装MySQL数据库。
在CentOS系统里,你可以这样干:先添加MySQL的yum源,就像告诉电脑到哪里去找MySQL这个宝藏。
然后再执行`yum install mysql server -y` 命令来安装MySQL服务器。
安装好之后,启动MySQL服务,用命令 `systemctl start mysqld`。
在Ubuntu系统下,是 `apt get install mysql server -y`。
安装完之后,你可以用 `mysql u root p`(这里是登录MySQL,输入密码后就进入MySQL的命令行界面啦)来测试一下是不是安装成功了。
linuxlnmp搭建实训总结在Linux环境下搭建LNMP(Linux+Nginx+MySQL+PHP)是一项常见的实训任务,该任务旨在让学生通过实际操作了解和掌握LNMP架构的搭建和配置。
我参与了这个实训,并总结了以下的经验和收获。
首先,Linux是一个非常稳定和安全的操作系统,因此我们首先需要安装和配置Linux。
在实训中,我们使用了Ubuntu作为我们的Linux发行版。
我们学习了如何在虚拟机中安装Ubuntu,并进行基本的配置,例如网络设定、用户管理等。
这些基本操作对于后续的LNMP 的搭建非常重要,因为我们需要建立合适的开发和测试环境。
接下来,我们安装和配置了Nginx。
Nginx是一个高性能的Web服务器,经常被用于承载高并发的Web应用。
我们学习了如何从官方网站下载和安装Nginx,以及如何对其进行基本的配置。
我们了解了Nginx的配置文件结构,学习了如何创建和编辑这些配置文件,以及如何重载配置文件以使更改生效。
在配置Nginx时,我们还学习了如何设置虚拟主机,以便我们能够在同一台服务器上承载多个网站。
我们了解了虚拟主机配置文件的结构和语法,并学习了如何将请求从域名映射到正确的网站目录。
接下来,我们安装和配置了MySQL。
MySQL是一个流行的关系型数据库管理系统,经常被用于存储和管理数据。
我们学习了如何从官方网站下载和安装MySQL,以及如何对其进行基本的配置。
我们了解了MySQL的配置文件结构和默认值,并学习了如何创建和管理数据库和用户。
在配置MySQL时,我们还学习了如何设置远程访问权限,以便通过其他主机连接和管理MySQL服务器。
我们了解了如何修改MySQL的配置文件以允许远程连接,并学习了如何创建和管理远程MySQL用户。
最后,我们安装和配置了PHP。
PHP是一种常用的脚本语言,经常被用于开发Web应用。
我们学习了如何从官方网站下载和安装PHP,并进行了基本的配置。
我们了解了PHP的配置文件结构和选项,并学习了如何设置PHP的运行参数和扩展。
LNMP安装与配置Nginx与apache、lighttp性能综合对比,如下图:注意:关闭rpm默认安装的apache和mysqllamp环境的准备工作,nginx安装时,也需要完成1.准备php函数的rpm包1)保证yum源正常2)所有lamp的准备都要完成rpm安装的httpd关闭,同时禁用自启动1)关闭SELinux# vi /etc/selinux/configSELINUX=disabled * 若安装时没有禁用SELinux ,将enforcing改为disabled 修改后需重新启动Linux方可生效!2)关闭防火墙Netfilter/iptables因尚未做防火墙讲解,直接简单的关闭所有防火墙设置:# iptables -F * 如果没有禁用防火墙,默认80端口禁止访问iptables -Ziptables -X# 注意修改yum源安装gcc gcc-c++yum -y install gccyum –y install gcc-c++2.准备lnmp其他的源代码包/install.html3.一键安装过程1)一键安装过程您可以选择使用下载版(推荐国外或者美国VPS使用)或者完整版(推荐国内VPS使用),两者没什么区别。
执行安装程序前需要您确认您的Linux发行版,可以执行:cat /etc/issue 查看是CentOS、Debian还是Ubuntu,也可以通过VPS服务商提供的控制面板上查看。
确定好之后,选择下面对应系统的安装命令:CentOS系统下执行./centos.sh按上述命令执行后,会出现如下提示:(注:如果是Debian系统,会提示Where are your servers located? asia,america,europe,oceania or africa,这里是选择服务器/VPS在哪个大洲,一般都是美国VPS,直接回车就行,如果是中国的,输入asia,回车。
1:首先安装如下rpm包,以满足LNMP环境需求。
Yum -y install libjpeg-devel libpng-devel libtiff-devel fontconfig-devel freetype-devel libXpm-devel gettext-devel openssl-devel libtool-ltdl-devel gcc* openssl* libxml*( libjpeg-devel ,libpng-devel ,libtiff-devel ,fontconfig-devel ,freetype-devel,libXpm-devel 这些都是图片与字体相关的开发包,为了使 php 可以对其做更好的支持。
gettext 是语言相关的一个函数库。
openssl-devel 是一套工具,用于生成 X.509 协议中所使用的密钥,公钥等文件。
libtool 是一个通用库支持脚本,在 php 编译过程中会需要使用到。
)2安装nginx(1)先要安装pcre,系统自带的pcre版本过低,不能满足我们的需求。
pcre 是一个正则表达式相关的包,要想Nginx使用Rewrite,那么就需要正则的支持。
tar xf pcre-8.10.tar.gzcd pcre-8.10./configuremake && make install(2)编译安装NginxUseradd nginxtar xf nginx-0.7.67.tar.gz cd nginx-0.7.67./configure --user=nginx --group=nginx --prefix=/usr/local/nginx/ --with-http_stub_status_module --with-http_ssl_module --with-sha1=/usr/libmake && make install--user与--group的参数指定Nginx运行时的所有者,以提高安全性。
LNMP安装与配置时间:2012.8.3Nginx与apache、lighttp性能综合对比,如下图:1.准备php函数的rpm包yum -y install gcc gcc-c++ 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 e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers2.准备lnmp其他的源代码包wget /soft/linux/nginx_php/nginx/nginx-0.8.46.tar.gzwget /soft/linux/nginx_php/php/php-5.2.14.tar.gzwget /soft/linux/nginx_php/phpfpm/php-5.2.14-fpm-0.5.14.diff.gzwget /soft/linux/nginx_php/mysql/mysql-5.5.3-m3.tar.gzwget /soft/linux/nginx_php/libiconv/libiconv-1.13.1.tar.gzwget /soft/linux/nginx_php/mcrypt/libmcrypt-2.5.8.tar.gzwget /soft/linux/nginx_php/mcrypt/mcrypt-2.6.8.tar.gzwget /soft/linux/nginx_php/memcache/memcache-2.2.5.tgzwget /soft/linux/nginx_php/mhash/mhash-0.9.9.9.tar.gzwget /soft/linux/nginx_php/pcre/pcre-8.10.tar.gzwget /soft/linux/nginx_php/eaccelerator/eaccelerator-0.9.6.1.tar.bz2 wget /soft/linux/nginx_php/pdo/PDO_MYSQL-1.0.2.tgzwget /soft/linux/nginx_php/imagick/ImageMagick.tar.gzwget /soft/linux/nginx_php/imagick/imagick-2.3.0.tgz3.安装php-5.2.14源代码包所需要的函数支持包tar zxvf libiconv-1.13.1.tar.gzcd libiconv-1.13.1/./configure --prefix=/usr/localmakemake installcd ../tar zxvf libmcrypt-2.5.8.tar.gzcd libmcrypt-2.5.8/./configuremakemake installcd libltdl/./configure --enable-ltdl-installmakemake installcd ../../tar zxvf mhash-0.9.9.9.tar.gzcd mhash-0.9.9.9/./configuremakemake installcd ../ln -s /usr/local/lib/ /usr/lib/ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.soln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8ln -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.1ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-configtar zxvf mcrypt-2.6.8.tar.gzcd mcrypt-2.6.8/./configuremakemake installcd ../4. 编译安装MySQL5.5.3-m3groupadd mysqluseradd -g mysql mysqltar zxvf mysql-5.5.3-m3.tar.gzcd mysql-5.5.3-m3./configure --prefix=/usr/local/mysql --without-debug --enable-thread-safe-client --with-pthread --enable-assembler --enable-profiling --with-mysqld-ldflags=-all-static--with-client-ldflags=-all-static --with-extra-charsets=all --with-plugins=all--with-mysqld-user=mysql --without-embedded-server --with-server-suffix=-community--with-unix-socket-path=/tmp/mysql.sockMake#编译Make install#安装Cp /usr/local/mysql/share/mysql/f /etc/f#准备mysql配置文件Vi /etc/f[client]default-character-set=utf8#修改客户端和连接字符集[mysqld]character-set-server=utf8#修改服务器和数据库字符集collation-server = utf8_general_ci#修改服务器校验字符集登陆mysql后可以\s查看字符集Setfacl -m u:mysql:rwx -R /usr/local/mysqlSetfacl -m d:u:mysql:rwx -R /usr/local/mysql#设置权限/usr/local/mysql/bin/mysql_install_db --user=mysql#安装mysql和test数据库/usr/local/mysql/bin/mysqld_safe --user=mysql &#启动mysql服务/usr/local/mysql/bin/mysqladmin -uroot password 123#修改mysql登录密码为123/usr/local/mysql/bin/mysql -uroot -p123#用mysql登录5. 编译安装PHP(FastCGI模式。
使用fastCGI管理php,加快php解析速度)tar zxvf php-5.2.14.tar.gzgzip -cd php-5.2.14-fpm-0.5.14.diff.gz | patch -d php-5.2.14 -p1#解压并打补丁,让php支持fpm来方便管理php-cgi进程(使用php-fpm管理fastCGI)# gzip -c 保留源文件-d 解压cd php-5.2.14/./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config--with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib--with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl--with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip--enable-soapmake ZEND_EXTRA_LIBS='-liconv'#编译过程设定变量(编译过程需要)make installcp php.ini-dist /usr/local/php/etc/php.inicd ../6.准备编译安装PHP5扩展模块tar zxvf memcache-2.2.5.tgzcd memcache-2.2.5//usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmakemake installcd ../tar jxvf eaccelerator-0.9.6.1.tar.bz2cd eaccelerator-0.9.6.1//usr/local/php/bin/phpize./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config makemake installcd ../tar zxvf PDO_MYSQL-1.0.2.tgzcd PDO_MYSQL-1.0.2//usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql makemake installcd ../tar zxvf ImageMagick.tar.gzcd ImageMagick-6.5.1-2/./configuremakemake installcd ../tar zxvf imagick-2.3.0.tgzcd imagick-2.3.0//usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmakemake installcd ../7. 修改php.ini文件,让php模块生效cp /lnmp/php-5.2.14/php.ini-dist /usr/local/php/etc/php.inivi /usr/local/php/etc/php.iniextension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"手工添加extension = "memcache.so"extension = "pdo_mysql.so"extension = "imagick.so"再查找output_buffering = Off修改为output_buffering = On再查找; cgi.fix_pathinfo=0修改为cgi.fix_pathinfo=0,防止Nginx文件类型错误解析漏洞8. 在php.ini中配置eAccelerator加速PHPmkdir -p /usr/local/eaccelerator_cache#准备eaccelerator缓存目录vi /usr/local/php/etc/php.ini[eaccelerator]zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so" eaccelerator.shm_size="64"eaccelerator.cache_dir="/usr/local/eaccelerator_cache"eaccelerator.enable="1"eaccelerator.optimizer="1"eaccelerator.check_mtime="1"eaccelerator.debug="0"eaccelerator.filter=""eaccelerator.shm_max="0"eaccelerator.shm_ttl="3600"eaccelerator.shm_prune_period="3600"eaccelerator.shm_only="0"press="1"press_level="9"9.准备php-cgi和nginx进程执行者用户Useradd nginx10. 创建php-fpm配置文件- php-fpm.confvi /usr/local/php/etc/php-fpm.conf<value name="display_errors">0</value>#0改成1,页面上会输出错误日志Unix user of processes<value name="user">nginx</value>Unix group of processes<value name="group">nginx</value><value name="max_children">128</value>#最大子进程数128,如果内存小于2G,则64个最佳<value name="rlimit_files">65535</value># Set open file desc rlimit,同时打开的文件数,linux系统允许同时打开的文件数为1024,修改linux系统中允许同时打开的文件,ulimit -SHn 65535,而且这个参数重启后还能生效,加到/etc/profile全局配置文件的最后,开机就会生效,ulimit -a查看open files 65535<value name="max_requests">1024</value>#最大请求数, How much requests each process should execute before respawn.一个子进程能够回应1042个请求11. 启动php-cgi(fastcgi)进程,监听127.0.0.1的9000端口,进程数为128(如果服务器内存小于3GB,可以只开启64个进程),用户为nginx:/usr/local/php/sbin/php-fpm start#启动php-cgi/usr/local/php/sbin/php-fpm reload#重新加载配置文件/usr/local/php/sbin/php-fpm stop#关闭php-fpm,此时nginx肯定连不上php12. 安装Nginx所需的pcre库tar zxvf pcre-8.10.tar.gzcd pcre-8.10/./configuremake && make installcd ../13. 安装Nginxtar zxvf nginx-0.8.46.tar.gzcd nginx-0.8.46/./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_modulemake && make installcd ../14. 修改Nginx配置文件vi /usr/local/nginx/conf/nginx.confuser nginx nginx;worker_processes 1;#相当于cpu个数error_log logs/nginx_error.log;#错误日志pid /usr/local/nginx/nginx.pid;#主进程PID保存文件#Specifies the value for maximum file descriptors that can be opened by this process.worker_rlimit_nofile 65535;#文件描述符数量events{use epoll;#网络I/O模型,建议linux使用epoll,FreeBSD使用kqueueworker_connections 65535;#最大允许连接数}http{include mime.types;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;#调用格式的日志sendfile on;tcp_nopush on;#tcp延迟keepalive_timeout 65;#保持连接时间fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 64k;fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 128k;#fastcgi设置gzip on;gzip_min_length 1k;gzip_buffers 4 16k;gzip_http_version 1.0;gzip_comp_level 2;gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on;#网络压缩设置#limit_zone crawler $binary_remote_addr 10m;server{listen 80;#监听端口server_name 192.168.150.253;#主机名,或IP。