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

LNMP安装配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-7-28 09:03:32 | 显示全部楼层 |阅读模式
     与Apache相比,Nginx是后起之秀。Apache模块很多,属于大而全的服务器软件。而Nginx以小巧高效闻名,由俄罗斯的程序设计师Igor Sysoev所开发,其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。中国大陆使用nginx网站用户有:新浪、网易、 腾讯、小米官网等。

       使用Apache的体系叫LAMP,使用Nginx的当然叫LNMP了。Apache大而全的好处是有现成的 apache2-mod_php5模块,装上就什么都不用管。而Nginx就没这类的模块,需要借助FastCGI来解析php文件。软件包php5-fpm是用于FastCGI进程管理的PHP5模块。       LNMP平台大致的工作流程是:安装php5-fpm后,通过php-fpm启用FastCGI进程,然后配置nginx,让nginx把php文件解析交给FastCGI进程处理,然后nginx把解析得到网页显示出来。

1. MySQL安装(同LAMP里面的安装方法)
tar zxvf /usr/local/src/mysql-5.1.40-linux-i686-icc-glibc23.tar.gz
   mv mysql-5.1.40-linux-i686-icc-glibc23 /usr/local/mysql
   useradd -s /sbin/nologin mysql
   cd /usr/local/mysql
   mkdir -p /data/mysql
   chown -R mysql:mysql /data/mysql
   ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
   cp support-files/my-large.cnf /etc/my.cnf
   cp support-files/mysql.server /etc/init.d/mysqld
   chmod 755 /etc/init.d/mysqld
   vim /etc/init.d/mysqld   #修改datadir
   chkconfig --add mysqld
   chkconfig mysqld on
   service mysqld start
2.  php安装


wget  http://cn2.php.net/distributions/php-5.4.37.tar.bz2
tar jxf php-5.4.37.tar.bz2
useradd -s /sbin/nologin php-fpm
cd php-5.4.37
useradd -s /sbin/nologin php-fpm
php依赖包参看lamp php安装
./configure --prefix=/usr/local/php   --with-config-file-path=/usr/local/php/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-curlmake && make install

cp php.ini-production /usr/local/php/etc/php.ini #配置文件

拷贝启动脚本:
cp /usr/local/src/php-5.4.37/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
mv /usr/local/php/etc/php-fpm.conf.default  /usr/local/php/etc/php-fpm.conf
vim /usr/local/php/etc/php-fpm.conf
把如下内容写入该文件:
[global]pid = /usr/local/php/var/run/php-fpm.piderror_log = /usr/local/php/var/log/php-fpm.log[www]listen = /tmp/php-fcgi.sockuser = php-fpmgroup = php-fpmpm = dynamicpm.max_children = 50pm.start_servers = 20pm.min_spare_servers = 5pm.max_spare_servers = 35pm.max_requests = 500rlimit_files = 1024
保存配置文件后,检验配置是否正确的方法为:
/usr/local/php/sbin/php-fpm -t
如果出现诸如 “test is successful” 字样,说明配置没有问题。
chmod 755 /etc/init.d/php-fpm
chkconfig --add php-fpm
service php-fpm start
chkconfig php-fpm on


3. 安装nginx
cd /usr/local/src/
wget http://nginx.org/download/nginx-1.6.2.tar.gz
tar zxvf nginx-1.6.2.tar.gz
cd nginx-1.6.2

yum install -y pcre-devel
./configure   --prefix=/usr/local/nginx   --with-pcre
make
make install

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

4. 编写nginx启动脚本
vim /etc/init.d/nginx  //加入如下内容
#!/bin/bash
# chkconfig: - 30 21
# description: http service.
# Source Function Library
. /etc/init.d/functions
# Nginx Settings

NGINX_SBIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
NGINX_PID="/usr/local/nginx/logs/nginx.pid"
RETVAL=0
prog="Nginx"

start() {
        echo -n $"Starting $prog: "
        mkdir -p /dev/shm/nginx_temp
        daemon $NGINX_SBIN -c $NGINX_CONF
        RETVAL=$?
        echo
        return $RETVAL
}

stop() {
        echo -n $"Stopping $prog: "
        killproc -p $NGINX_PID $NGINX_SBIN -TERM
        rm -rf /dev/shm/nginx_temp
        RETVAL=$?
        echo
        return $RETVAL
}

reload(){
        echo -n $"Reloading $prog: "
        killproc -p $NGINX_PID $NGINX_SBIN -HUP
        RETVAL=$?
        echo
        return $RETVAL
}

restart(){
        stop
        start
}

configtest(){
    $NGINX_SBIN -c $NGINX_CONF -t
    return 0
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  reload)
        reload
        ;;
  restart)
        restart
        ;;
  configtest)
        configtest
        ;;
  *)
        echo $"Usage: $0 {start|stop|reload|restart|configtest}"
        RETVAL=1
esac
exit $RETVAL

保存后,执行
chmod a+x /etc/init.d/nginx
chkconfig --add nginx
chkconfig nginx on


5. 配置解析php
vim  /usr/local/nginx/conf/nginx.conf   //把下面的配置,前面的#删除,并更改fastcgi_param SCRIPT_FILENAME 那一行

          server {
          include port.conf;
          server_name www.ixdba.net ixdba.net;

          location / {
          index index.html index.php;
          root /web/www/www.ixdba.net;
          }
  •         location ~ \.php$ {

  •             root           html;

  •             fastcgi_pass   127.0.0.1:9000;

  •             fastcgi_index  index.php;

  •             fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;

  •             include        fastcgi_params;

  •         }



复制代码

6.更改nginx配置
首先把原来的配置文件清空:
> /usr/local/nginx/conf/nginx.conf
“>” 这个符号之前阿铭介绍过,为重定向的意思,单独用它,可以把一个文本文档快速清空。
vim /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/htm application/xml;    include vhosts/*.conf; #server部分虚拟主机,可以放在/usr/local/nginx/conf/vhosts/default.conf###server{    listen 80 default_server;    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;    }}}
保存配置后,先检验一下配置文件是否有错误存在:
/usr/local/nginx/sbin/nginx  -t启动nginx:service nginx start如果不能启动,请查看 “/usr/local/nginx/logs/error.log” 文件,检查nginx是否启动:ps aux |grep nginx看是否有进程。7.nginx、php测试
vim  /usr/local/nginx/html/1.php
增加  
<?php
    phpinfo();
?>

测试: curl localhost/1.php




运维网声明 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-91387-1-1.html 上篇帖子: 搭建基于LAMP的web应用程序平台 下篇帖子: LAMP添加扩展模块
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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