设为首页 收藏本站
查看: 1220|回复: 0

安装启动LNMP的安装配置

[复制链接]

尚未签到

发表于 2015-8-21 11:44:25 | 显示全部楼层 |阅读模式
  题记:写这篇博客要主是加深自己对安装启动的认识和总结现实算法时的一些验经和训教,如果有错误请指出,万分感谢。
  LNMP=Linux+Nginx+Mysql+PHP。
  面上绍介它的安装和置配说明。
  个整安装程过我们不用采默许安装,而是自义定安装,安装在/home/zhaolincheung/local目录下。
  

一.Mysql的安装
  1.下载安装
  解压mysql的源码包mysql-5.1.50.tar.gz,切换到安装目录下,这里安装到当前户用zhaolincheung的local目录下,如下:
  ./configure --prefix=/home/zhaolinchueng/local/mysql --sysconfdir=/home/zhaolinchueng/local/mysql
  --localstatedir=/home/zhaolinchueng/local/mysql/data
  --with-unix-socket-path=/home/zhaolinchueng/local/mysql/tmp/mysql.sock
  --with-charset=utf8 --with-plugins=innobase --with-client-ldflags=-all-static
  --with-mysqld-ldflags=-all-static
  sysconfdir示表mysql的置配文件径路,localstatedir示表数据文件径路,socket置配和最后2个属性要主用来升提性能。
  如果要用使innodb引擎,记得加上--with-plugins=innobase。
  然后行执:
  make
  makeinstall
  2.置配
  (1).复制/home/zhaolinchueng/local/mysql/share/mysql/my-medium.cnf到mysql根目录下,更名为my.cnf。
  切换到mysql的bin目录下,行运:
  ./mysql_install_db --basedir=/home/zhaolinchueng/local/mysql --datadir=/home/zhaolinchueng/local/mysql/data
  (2).复制/home/zhaolinchueng/local/mysql/libexec/mysqld到mysql的bin目录下,启动mysql务服
  /home/zhaolinchueng/local/mysql/bin/mysqld_safe --ledir=/home/zhaolinchueng/local/mysql/bin
  --log-error=/home/zhaolinchueng/local/mysql/data/t.err --datadir=/home/zhaolinchueng/local/mysql/data
  --socket=/home/zhaolinchueng/local/mysql/tmp/mysql.sock --pid-file=/home/zhaolinchueng/local/mysql/data/mysqld.pid
  (3).再用ps令命查看mysql是不是启动,如果不能启动用netstat令命检查3306口端是不是被占用,如果是则修改my.cnf的口端置配。
  切换到mysql的bin目录下,行运./mysqladmin -u root password '123' 来修改root登录密码。
  
  修改/home/zhaolinchueng/local/mysql/share/mysql/mysql.server的码代:
  pid_file=/home/zhaolinchueng/local/mysql/data/mysqld.pid
  
  停止mysql务服:/home/zhaolinchueng/local/mysql/share/mysql/mysql.server stop
  为了便利,可以把启动和停止mysql务服令命写成shell脚本。
  提议在my.cnf中添加sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"。
  其他考参接链:http://www.iyunv.com/article/27768.htm
  

二.Nginx安装
  1. 备准安装包nginx-0.8.53.tar.gz,解压,进入目录
  Nginx的下载目录:http://nginx.org/download/
  2. 行执
  ./configure --prefix=/home/zhaolincheung/local/nginx
  make && make install
  3. 其他置配
  这样的话默许的置配文件为/home/zhaolincheung/local/nginx/conf/nginx.conf,行执文件为/home/zhaolincheung/local/nginx/sbin/nginx,
  pid文件为/home/zhaolincheung/local/nginx/logs/nginx.pid,因此可以在户用主目录下立建启动文件start.sh和关闭文件stop.sh,便利启动和关闭nginx。
  启动文件start.sh内容为:/home/zhaolincheung/local/nginx/sbin/nginx
  关闭文件内容为:
  pid=`cat/home/zhaolincheung/local/nginx/logs/nginx.pid`
  kill $pid
  

三.php-fpm安装
  1.绍介
  Php-fpm是一个php fastcgi的程进理管器,是只用于php的。Php-fpm实际上是php-fpm源码代的一个补丁,旨在将fastcgi程进理管整合进php包中,必须将它patch到你的php源码代中。在现php 5.3.3以上版本都整合了php-fpm的分支,不要需在独单安装了。
  Php-fpm的利益是:供提了更好的php程进理管方式,可以有效控制内存和程进、可以平滑重载和php置配,所以终最被php官方收录了。在php行进configure时带上--enable-fpm参数可即开启php-fpm。
  而Fastcgi是一个可伸缩的,高速地在web server和脚本语言间交互的口接。Fastcgi的要主是把动态语言(如php)和web server分离开来。种这技巧答应把web server和动态语言行运在不同的主机上,以大规模扩展和进改安全性而不失损产生率效。
  2.安装
  备准好php-5.2.14.tar.gz和php-5.2.14-fpm-0.5.14.diff.gz,解压php-5.2.14.tar.gz。
  然后分离行执解压和打补丁令命:
  gzip -d php-5.2.14-fpm-0.5.14.diff.gz  
  patch -d php-5.2.14 -p1 < php-5.2.14-fpm-0.5.14.diff
  这样php 5.2.14就支撑fastcgi了。php 5.3.x开始就内置了对fastcgi的支撑,无需补丁,所以如果安装php 5.3.x以上版本,则个整步调二“php-fpm安装”无需行进。
  

四.PHP安装
  安装php要需安装其他赖依:libxml2和libxml2-devel包。如果统系没有安装这些赖依,要需自己安装,可以通过面上的令命:
  yum install libxml2
  yum install libxml2-devel –y
  1.php5.3.3以下版本的安装
  ./configure --prefix=/home/zhaolincheung/local/php --enable-fastcgi /
  --enable-force-cgi-redirect --enable-fpm /
  --with-config-file-path=/home/zhaolincheung/local/php/lib --with-mysql=/home/zhaolincheung/local/mysql /
  --with-pdo-mysql=/home/zhaolincheung/local/mysql --with-curl=/home/zhaolincheung/local/curl --enable-mbstring
  完成后再行执
  make&& make install
  2.php 5.3.3以上版本的安装
  php5.3.3及以上的版本内置了fpm ,此处用5.3.4举例,下载后解压,进入解压后目录 :
  ./configure --prefix=/home/zhaolinchueng/local/php --enable-fpm /
  --with-config-file-path=/home/zhaolinchueng/local/php/lib --with-mysql=/home/zhaolincheung/local/mysql /
  --with-pdo-mysql=/home/zhaolincheung/local/mysql --with-curl=/home/zhaolincheung/local/curl --enable-mbstring
  然后再行执
  make && make install
  

五.Nginx置配
  1.nginx.conf的互联网置配方法
  工业界的置配方法如下:
  首先打开nginx的安装目录下的nginx.conf,这里为/home/zhaolincheung/local/nginx/conf/nginx.conf,其内容如下:

user  www www;
worker_processes 16;
error_log   logs/nginx_error.log  crit;
pid        logs/nginx.pid;
worker_rlimit_nofile 51200;
events
{
use epoll;
worker_connections 51200;
}
http
{
include       mime.types;
default_type  application/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;
sendfile on;
tcp_nopush     on;
keepalive_timeout 60;
tcp_nodelay on;
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_intercept_errors on;
fastcgi_hide_header Pragma;
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;
autoindex off;
server_tokens off;
server_name_in_redirect off;
##################################################################################
log_format  misc  '$http_x_forwarded_for $remote_addr $host $server_addr [$time_local] "$request" $request_time'
' $status $body_bytes_sent "$http_referer" '
'"$http_user_agent"';

#################################################################################
include webim_analys_nginx.conf;#通过include包括虚拟主机1的置配文件
include abc_nginx.conf;#通过include包括虚拟主机2的置配文件
}

    每日一道理
如果人类不好好保护我们这个赖以生存的地球,终有一天,风沙的肆虐与垃圾的堆积会吞没我们美丽的家园。我向全世界的人们呼吁:让我们从在现开始,从我做起,手挽手,肩并肩共同保护建设我们的家园吧!
  面上的文件通过include来包括虚拟主机的置配文件,这样就相当于我们启动了一个nginx务服,所以我们要需在/home/zhaolinchueng/local/nginx/conf/目录下新建一个名为webim_analys_nginx.conf的文件,内容如下:

server
{
listen       80;
server_name  zhaolincheung.gj.com;
index index.html index.htm index.php;
root  /data/webim/analys;
autoindex on;
location ~ .*\.(php|php5)?$
{      
fastcgi_pass  127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires      30d;
}
location ~ .*\.(js|css)?$
{
expires      1h;
}
location /(WEB-INF)/ {
deny all;
}   
log_format  webim_analys_access  '$remote_addr $host $server_addr [$time_local] "$request" $request_time'
' $status $body_bytes_sent "$http_referer" '
'"$http_user_agent"'
'$request_body'
'$content_length';
access_log  /data/webim/analys/log/access.log webim_analys_access;
}
  说明:root示表网页程序的寄存目录,这里为/data/webim/analys。log_format是义定nginx输出日记的格式,其中日记的置位在/data/webim/analys/log/access.log。所以,要需户用立建一个目录log,并在该目录下立建一个access.log文件。
  2.启动nginx,查看置配是不是确正
  行执/home/zhaolincheung/local/php/sbin/php-fpm ,然后启动nginx,最后在/home/zhaolincheung/local/nginx/html文件夹下立建index.php,
  输出phpinfo看看胜利没,index.php内容如下:
  <?php
  echophpinfo();
  ?>
  

六.php置配
  1.备准php.ini和php-fpm.conf文件
  把php源码解压缩目录下的php.ini-production复制到php的安装目录/home/zhaolincheung/local/php/lib下,并更名php.ini,
  在/home/zhaolincheung/local/php/etc/本目录下复制一份php-fpm.conf.default,并命名为php-fpm.conf
  2. 打开php-fpm.conf,去掉响应的分号注释,最后如下
  pid= run/php-fpm.pid
  error_log= log/php-fpm.log
  listen= 127.0.0.1:9000
  pm =dynamic
  pm.max_children= 50
  pm.start_servers= 20
  pm.min_spare_servers= 5
  pm.max_spare_servers= 35
  pm.max_requests= 500
  3.php.ini的修改
  php.ini牵扯到很多php的插件,如对mysql的支撑,对memcached的支撑。
  如果修改了php.ini,需只行执php-fpm,不必重启nginx
  开辟测试的时候最好是把php.ini的 display_errors 打开,否则nginx遇错直接给出500面页,不会示显错误信息。
  

七.php-fpm的启动、关闭和重启
  Php-fpm是理管php fastcgi的。php 5.3.3以上的版本的php-fpm 不再支撑 php-fpm 前以拥有的 /home/zhaolincheung/local/php/sbin/php-fpm (start|stop|reload)等令命,要需用使信号控制。
  1.php 5.3.3以下版本的启动、关闭和重启如下:
  启动:/home/zhaolincheung/local/php/sbin/php-fpmstart
  关闭:/home/zhaolincheung/local/php/sbin/php-fpmstop
  重启:/home/zhaolincheung/local/php/sbin/php-fpmreload
  2.php 5.3.3 以上版本的启动、关闭和重启如下:
  master程进可以懂得以下信号:
  INT,TERM 立刻终止;
  QUIT平滑终止;
  USR1从新打开日记文件;
  USR2平滑重载全部worker程进并从新载入置配和二进制块模。
  示例:
  Php-fpm启动:/home/zhaolincheung/local/php/sbin/php-fpm
  php-fpm关闭:kill -INT `cat /home/zhaolincheung/local/php/var/run/php-fpm.pid`
  php-fpm重启:kill -USR2`cat /home/zhaolincheung/local/php/var/run/php-fpm.pid`
  注:查看php-fpm程进数:ps aux | grep -c php-fpm
  考参接链:http://blog.iyunv.com/ldb2741/article/details/6066364
  

八.php扩展(mysql/pdo/curl等)的独单安装
  如果安装php时,没有指定--with-mysql、--with-pdo-mysql、--with-curl这些项选,则默许不会安装对应的mysql、pdo和curl的扩展,要需安装完php后,另行安装,对相来讲会较比费事,提议用采默许安装。
  不过,用采默许安装的前提,是这些软件已安装好,即mysql数据库、curl已安装好,这时只要需指定--with-mysql、--with-pdo-mysql、--with-curl这些参数,就现实了安装对应的php扩展。如下所示安装php时,行进指定:
  ./configure --prefix=/home/zhaolinchueng/local/php --enable-fpm /
  --with-config-file-path=/home/zhaolinchueng/local/php/lib --with-mysql=/home/zhaolincheung/local/mysql /
  --with-pdo-mysql=/home/zhaolincheung/local/mysql --with-curl=/home/zhaolincheung/local/curl --enable-mbstring
  面上举例绍介php扩展的安装方法:
  1.Mysql扩展
  (1)进入php源码代目录:cd /home/zhaolincheung/php-5.3.1/
  (2)再进入php源码代目录下的mysql扩展源码目录:cdext/mysql/
  (3)调用已译编好的php里头的phpsize:/home/zhaolincheung/local/php/bin/phpsize
  (4)然后configure:./configure –with-php-config=/home/zhaolinchueng/local/php/bin/php-config–with-mysql=/home/zhaolincheung/local/mysql
  注:/home/zhaolincheung/local/mysql为mysql的安装目录。
  (5)然后make && make install
  (6)译编后之,统系主动把mysql.so放到了默许的php扩展目录下(phpinfo可以查看,这里为/home/zhaolincheung/local/php/lib/php/extensions/no-debug-zts-20090626)。此时,要需我们把mysql.so更名为php_mysql.so。然后进入到/home/zhaolincheung/local/php/lib目录下,修改php.ini,去掉;extensions=php_mysql.so后面的分号。
  (7)重启nginx和php-fpm。
  考参接链:http://hi.baidu.com/zjq_zjq/item/135c60edabc699225b2d6488
  
  文章结束给大家分享下程序员的一些笑话语录:
PC软件体积大,是因为一个PC软件功能往往较多,能够满足你一个方面的需求,而一个iphone软件往往没几行代码,干一件很小的事情,自然需要的软件就多。就像吃西瓜和吃瓜子的来比数目,单位不同啊。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-102152-1-1.html 上篇帖子: lnmp压力测试结果php处理能力低,增加pm.max_children后一样没提升 下篇帖子: 架设LNMP环境脚本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表