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

[经验分享] 构建LNMP(Linux、Nginx、MySQL、PHP)网站服务平台

[复制链接]

尚未签到

发表于 2018-12-11 09:57:46 | 显示全部楼层 |阅读模式


1、Nginx简介
Nginx是一款高性能、轻量级Web服务软件,特点是稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力,许多知名网站都使用Nginx提供Web服务,如新浪、网易、腾讯、运维网、人人网等,其源于俄罗斯,市场占有率第三,Apache第一,微软的IIS第二。
2、LEMP(LNMP)网站平台
LEMP也称为LNMP平台,代表Linux下Nginx、MySQL、PHP这种网站服务器架构,同LAMP一样,LEMP也是应用越为广泛的网站服务器架构,受到许多Linux系统工程师的青睐。

一、编译安装Nginx
1、编译安装Nginx
①安装支持软件、创建运行用户
yum -y  install pcre-devel zlib-devel
useradd -M -s /sbin/nologin  nginx
②编译安装Nginx,启用http_ stub_status_module模块以支持状态统计
tar zxf nginx-1.0.8.tar.gz -C /usr/src/
cd /usr/src/nginx-1.0.8/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
make && make install
③调整、启动Nginx服务
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
nginx
netstat -ntpl  | grep "80"
④安装文本模式浏览器elinks并访问web服务,按q退出
yum -y install elinks
elinks http://localhost
                       

⑤编写Nginx服务脚本并添加为系统服务,方便管理
vi /etc/init.d/nginx
chmod a+x /etc/init.d/nginx
chkconfig --add nginx
chkconfig --list nginx
service nginx restart
注:elinks文本模式浏览器,速度快,但不显示图像等多媒体内容

二、状态统计及虚拟主机应用
1、访问状态统计
编辑Nginx服务的主配置文件,添加如下内容,以指定访问位置并打开状态统计功能
vi /usr/local/nginx/conf/nginx.conf

service nginx restart
在浏览器访问http://192.168.1.1/status,查看访问状态统计信息

Active connections表示当前的活动连接数,server accepts handled requests表示已处理的连接信息,三个数字分别表示已处理的连接数、成功的TCP握手次数、已处理的请求数

2、基于域名的虚拟主机
①准备网站目录及测试文件
mkdir -p /var/www/benet
mkdir -p /var/www/accp
echo www.benet.com > /var/www/benet/index.html
echo www.accp.com > /var/www/accp/index.html
②调整主配置文件,添加如下内容
vi /usr/local/nginx/conf/nginx.conf

service nginx restart
③分别输入www.benet.com和www.accp.com进行访问,验证虚拟WEB主机,如下所示

注:域名的解析可以自行搭建DNS服务,也可通过修改/etc/hosts文件实现

三、构建LEMP网站平台
1、安装MySQL数据库
yum -y remove mysql-server mysql

yum -y install compat-lib* termcap ncurses-devel
编译安装MySQL
useradd -M -u 27 -s /sbin/nologin mysql

tar zxf mysql-5.1.55.tar.gz -C /usr/src

cd /usr/src/mysql-5.1.55/

./configure  --prefix=/usr/local/mysql    --with-charset=utf8  --with-collation=utf8_general_ci  --with-extra-charsets=gbk,gb2312

make && make install

初始化数据库

cp support-files/my-medium.cnf /etc/my.cnf

/usr/local/mysql/bin/mysql_install_db --user=mysql

chown -R root:mysql /usr/local/mysql/

chown -R mysql /usr/local/mysql/var/

ln -s /usr/local/mysql/bin/*  /usr/local/bin/

ln -s /usr/local/mysql/lib/mysql/*  /usr/lib/

ln -s /usr/local/mysql/include/mysql/*  /usr/include/

③配置启动脚本,启动服务

cp support-files/mysql.server /etc/init.d/mysqld

chmod a+x /etc/init.d/mysqld

chkconfig --add mysqld

service mysqld start

netstat -anptu | grep mysql

mysqladmin -u root password 123

mysql -u root -p

2、安装PHP环境
yum -y remove php

yum -y install libxml2-devel libpng-devel pcre-devel

①编译安装PHP

tar zxf php-5.3.6.tar.gz -C /usr/src

cd /usr/src/php-5.3.6/

./configure --prefix=/usr/local/php5  --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --with-gd --with-zlib --enable-mbstring --enable-fpm

make && make install

:FPM(FastCGI Process Manager,FastCGI进程管理器用来对解析实例进行管理优化解析效率单服务器的LEMP架构通常使用这种方式配置时应启用此模块。

调整及配置

cp php.ini-development /usr/local/php5/php.ini

ln -s /usr/local/php5/bin/* /usr/local/bin/

ln -s /usr/local/php5/sbin/* /usr/local/sbin/

安装PHP加速器ZendGuardLoader提高PHP解析效率

tar zxf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz

cd ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/

cp ZendGuardLoader.so /usr/local/php5/lib/php/

vi /usr/local/php5/php.ini     -----添加如下内容

zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so

zend_loader.enable=1

3、配置Nginx支持PHP环境

建立php-fpm.conf配置文件并进行修改启动php-fpm程序

cd /usr/local/php5/etc/

cp php-fpm.conf.default php-fpm.conf              
vi php-fpm.conf
pid = run/php-fpm.pid                     -----确认pid文件位置
user = nginx                              -----运行用户
group = nginx                             -----运行组
pm.start_servers = 20                     -----启动时开启的进程数
pm.min_spare_servers = 5                 -----最少空闲进程数
pm.max_spare_servers = 35                -----最多空闲进程数
/usr/local/sbin/php-fpm
netstat -anptu | grep "php-fpm"
②修改Nginx服务脚本,以便启动/停止Nginx服务时也自动启动/停止php-fpm
vi /etc/init.d/nginx

③配置Nginx支持PHP解析
vi /usr/local/nginx/conf/nginx.conf

service nginx restart
4、创建PHP测试页面
①编辑测试页测试Nginx是否支持php功能
vi /var/www/benet/t.php
  
访问测试页面,输入http://www.benet.com/t.php,如下所示表示Nginx已支持PHP

②编辑测试页测试Nginx、MySQL、PHP是否协同工作
vi /var/www/benet/test.php

访问测试页面,输入http://www.benet.com/test.php,如下所示则表示PHP解析及数据库连接均正常(可能需要稍等会才会正常显示)。


四、使用LEMP平台部署“天空网络电影系统”
服务器:192.168.1.1
客户机:192.168.1.200
1、部署程序代码
tar jxf SKYUC_3.2.2_Free_For_PHP5.3.tar.bz2
mv SKYUC_3.2.2_Free_For_PHP5.3/wwwroot/ /var/www/benet/skyuc
cd /var/www/benet/skyuc/
chown -R nginx:nginx admincp/ data/ templates/ upload/
2、创建数据库和专用账户
mysql -u root -p
create database skyucdb;
grant all on skyucdb.* to runskyuc@localhost identified by '123';
3、安装Web应用
在客户端访问http://www.benet.com/skyuc/install/index.php进行安装

确保系统环境、目录权限、缓存可写性等检测通过,否则安装将无法继续。

配置数据库连接信息,并设置管理账号和密码

转移install/目录并调整其权限,避免重复安装
mv install install.lock
chmod 600 install.locak
访问http://www.benet.com/skyuc/index.php站点,可以看到“天空网络电影系统”站点的首页


访问http://www.benet.com/skyuc/admincp/index.php输入管理账号,可登陆管理后台


结束!

补充:
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RadHat、Debian/Ubuntu VPS(VDS)或独立主机安装LNMP(Nginx、MySQL、PHP、phpMyAdmin)生产环境的Shell程序。
无需一个一个的输入命令,无需值守,编译安装优化编译参数,提高性能,解决不必要的软件间依赖,特别针对VPS用户进行了优化。
下载站点:http://lnmp.org/

附:

Nginx快速入门视频课程:http://edu.运维网.com/course/14606.html




运维网声明 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-649988-1-1.html 上篇帖子: 编译安装php5.6和php7.2 下篇帖子: php负载中使用redis实现session会话保持
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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