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

搭建LNMP架构

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-2-1 09:30:54 | 显示全部楼层 |阅读模式
Nginx的介绍
Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP/FTP 代理服务器。Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站点开发的,它已经在该站点运行超过五年半了。Igor Sysoev在建立的项目时,使用基于BSD许可。自Nginx 发布以来,Nginx 已经因为它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。Netcraft的统计显示,Nginx(绿线)上升趋势明显,在不久的将来有可能超越Apache。
QQ截图20160201093004.png
Mysql介绍
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。在全球排名前1万位的网站中,开源软件使用率超过75%,其中比较受欢迎的开源组合是LAMP(LNMP)。加上阿里带头发展”去IOE”运动(IMB、ORACLE和EMC),加上之前的”棱镜门事件”,使得Mysql大受欢迎,哈哈,扯远了。

PHP介绍
PHP作为网络开发的强大语言之一,现在应用非常广泛,具有开放源代码,跨平台性强,开发快捷,效率高,面向对象,并且易于上手,专业专注等诸多优点。各种PHP开发框架也让程序开发变的简单有效。

实验环境:CentOS release 6.4 (Final) IP:192.168.2.100

依赖包安装
1
2
3
4
# yum -y install   ncurses ncurses-devel cmake make perl bison openssl openssl-devel gcc* libxml2 libxml2-devel curl-devel  pcre-devel libjpeg-devel libpng-devel freetype-devel  libcurl-devel
# tar xf libmcrypt-2.5.6.tar.gz
# cd libmcrypt-2.5.6
# ./configure && make && make install



Nginx安装
1
2
3
4
5
6
7
8
9
#groupadd www
#useradd -g www www
#tar xf nginx-1.6.2.tar.gz
#cd nginx-1.6.2
#./configure --prefix=/usr/local/webserver/nginx1.6 --user=www --group=www --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre
#主要参数说明:
--with-http_ssl_module           #启用ttps协议模块。
--with-http_stub_status_module   #用来监控Nginx当前状态。
# make && make install



Nginx第一种启动方法
1
2
3
4
5
6
7
8
# /usr/local/webserver/nginx1.6/sbin/nginx -t   #检查配置文件是否错误。
nginx: the configuration file /usr/local/webserver/nginx1.6/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/webserver/nginx1.6/conf/nginx.conf test is successful
# /usr/local/webserver/nginx1.6/sbin/nginx -c /usr/local/webserver/nginx1.6/conf/nginx.conf
# netstat -anlp |grep nginx
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      4618/nginx         
unix  3      [ ]         STREAM     CONNECTED     28076  4618/nginx         
unix  3      [ ]         STREAM     CONNECTED     28075  4618/nginx



Nginx第二种启动方法,做成服务启动(推荐),篇幅有限,脚本看附件。
1
2
3
4
5
# vim /etc/init.d/nginx        #脚本内容看附件。
# chmod +x /etc/init.d/nginx
# chkconfig --add nginx
# chkconfig nginx on
# service nginx start



输入IP地址若返回如下页面,说明已经安装成功了。
QQ截图20160201093011.png
Mysql安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# groupadd mysql
# useradd -r -g mysql mysql
# tar xf mysql-5.6.14.tar.gz
# cd mysql-5.6.14
# mkdir -p /usr/local/webserver/mysql5.6
# cmake \
> -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql5.6/ \  #指定安装目录
> -DMYSQL_DATADIR=/usr/local/webserver/mysql5.6/data \     #指定数据存在目录
> -DWITH_MYISAM_STORAGE_ENGINE=1 \                         #支持MyIASM引擎
> -DWITH_INNOBASE_STORAGE_ENGINE=1 \                       #支持InnoDB引擎
> -DWITH_MEMORY_STORAGE_ENGINE=1 \                         #支持Memory引擎
> -DWITH_READLINE=1 \                                      #快捷键功能
> -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \            #连接数据库socket路径
> -DMYSQL_TCP_PORT=3306 \                                  #指定端口
> -DENABLED_LOCAL_INFILE=1 \                               #允许从本地导入数据
> -DWITH_PARTITION_STORAGE_ENGINE=1 \                      #安装支持数据库分区
> -DEXTRA_CHARSETS=all \                                   #安装所有的字符集
> -DDEFAULT_CHARSET=utf8 \                                 #指定默认字符
> -DDEFAULT_COLLATION=utf8_general_ci                      #指定字符集的校对规则
#make && make install
# chown mysql.mysql /usr/local/webserver/mysql5.6/ -R
# cd /usr/local/webserver/mysql5.6/scripts/
# ./mysql_install_db --basedir=/usr/local/webserver/mysql5.6/ --datadir=/usr/local/webserver/mysql5.6/data/
# rm -rf /etc/my.cnf
# cp -a /usr/local/webserver/mysql5.6/support-files/mysql.server /etc/init.d/mysqld
# cp -a /usr/local/webserver/mysql5.6/support-files/my-default.cnf /usr/local/webserver/mysql5.6/my.cnf
# chkconfig --add mysqld
# chkconfig mysqld on
# vi /usr/local/webserver/mysql5.6/my.cnf  #这里先指定mysql的目录和数据的存放目录,其他参数再根据需求来调整。
basedir = /usr/local/webserver/mysql5.6/
datadir = /usr/local/webserver/mysql5.6/data

# service mysqld start
Starting MySQL..........[  OK  ]
# netstat -anlp |grep mysqld
tcp        0      0 :::3306                     :::*                        LISTEN      17411/mysqld        
unix  2      [ ACC ]     STREAM     LISTENING     97702  17411/mysqld        /var/lib/mysql/mysql.sock



PHP安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# tar xf php-5.6.11.tar.gz
# cd php-5.6.11
#./configure --prefix=/usr/local/webserver/php5.6 --enable-fpm --with-mcrypt --enable-mbstring --with-mysql=/usr/local/webserver/mysql5.6/ --with-mysqli=/usr/local/webserver/mysql5.6/bin/mysql_config

#重要参数说明
--enable-fpm的作用是开启php的fastcgi功能即开启php-fpm功能。
--enable- mbstring表示启用mbstring模块mbstring模块的主要作用在于检测和转换编码,提供对应的多字节操作的字符串函数。

#make && make install
# cp -a php.ini-production /usr/local/webserver/php5.6/etc/php.ini
# cp -a /usr/local/webserver/php5.6/etc/php-fpm.conf.default /usr/local/webserver/php5.6/etc/php-fpm.conf
# cp -a sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm  #做成服务启动
# chkconfig --add php-fpm
# chkconfig php-fpm on
# chmod +x /etc/init.d/php-fpm
# service php-fpm start
Starting php-fpm  done
# netstat -anlp |grep php-fpm
tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      32657/php-fpm      
unix  3      [ ]         STREAM     CONNECTED     218072 32657/php-fpm      
unix  3      [ ]         STREAM     CONNECTED     218071 32657/php-fpm



重点来了,整合LNMP。
QQ截图20160201093018.png
1
2
3
4
5
6
7
8
9
10
#/usr/local/webserver/nginx1.6/conf/nginx.conf       #启用下面这几行。
location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;
        }

include test.conf;        #同时在配置文件添加一个虚拟主机。



添加一个虚拟主机。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#vi /usr/local/webserver/nginx1.6/conf/fastcgi.conf               #在后面添加一行。
fastcgi_index index.php;
#mkdir -p /data/web/www.test.com
# chown www:www /data/web/ -R
# vim  /usr/local/webserver/nginx1.6/conf/test.conf
server
{
    listen       80;
    server_name www.test.com;
    index index.html index.htm index.php default.html default.htm default.php;
    root  /data/web/www.test.com/;
    if (!-f $request_filename){
            rewrite ^/(.+)$ /index.php?$1& last;
        }
    location ~ .*\.(php|php5)?$
    {
        try_files $uri =404;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_param APPLICATION_ENV development;
        include fastcgi.conf;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
    }
}

重启Nginx
# service nginx reload
nginx: the configuration file /usr/local/webserver/nginx1.6/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/webserver/nginx1.6/conf/nginx.conf test is successful
Reloading nginx: [  OK  ]



测试结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# cat /data/web/www.test.com/phpinfo.php
<?php
      phpinfo();
?>

#cat /data/web/www.test.com/index.php
<?php
$link=mysql_connect('localhost','root','redhat'); #用root连接本地的数据,密码是redhat。
if ($link)
             echo "Successfuly";
else
             echo "Faile";
mysql_close();
?>



查看结果,看到如下的返回结果,证明整合LNMP成功了。
QQ截图20160201093025.png
QQ截图20160201093030.png
LNMP架构已经安装完成,安装并不难,难在对于架构的维护!!!


运维网声明 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-172143-1-1.html 上篇帖子: 部署搭建分层次LAMP架构+Wordpress+phpMyAdmin+MySQL主从复制 实现高可用架构 下篇帖子: LNMP安装与启动脚本编写
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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