以下实验所用文件可到此处下载(百度秒传链接,不会可度娘)
C5B151A70E9CEED5308F108F1ECE7B3B#C0B06146A5DF31031C675163A16AFE70#24475686#mysql-5.5.22.tar.gz
899B873BD5496CC05E422533A80ABFCF#25339B9B4E92ABB20A31BA77C6704F89#8257536#SKYUC.v3.4.2.SOURCE.zip
995EB0A140455CF0CFC497E5BD7F94B3#5BD7D90A7536C89C6CCCC501288455AE#980831#nginx-1.12.0.tar.gz
56FF88934E068D142D6C0DEEFD1F396B#32E93C965ACB522BE5AE2D18C888DAA1#11051714#php-5.3.28.tar.bz2
一、LNMP的介绍
1、LNMP介绍
LNMP指的是一个基于CentOS/Debian编写的Nginx、PHP、MySQL、phpMyAdmin、eAccelerator一键安装包。可以在VPS、独立主机上轻松的安装LNMP生产环境。
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
- Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、 centos、ubuntu、fedora、gentoo等。
- Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
- Mysql是一个小型关系型数据库管理系统。
- PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
- 这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
2、特点
Nginx是一个小巧而高效的Linux下的Web服务器软件,是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler 站点开发的,已经在一些俄罗斯的大型网站上运行多年,相当的稳定。
Nginx性能稳定、功能丰富、运维简单、处理静态文件速度快且消耗系统资源极少
3、优点
作为 Web 服务器:相比 Apache,Nginx 使用更少的资源,支持更多的并发连接,体现更高的效率。
作为负载均衡服务器:Nginx 既可以在内部直接支持Rails和PHP,也可以支持作为 HTTP代理服务器对外进行服务。Nginx 用C编写,不论是系统资源开销还是CPU使用效率都比Perlbal要好的多。
作为邮件代理服务器:Nginx同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器),Last/fm 描述了成功并且美妙的使用经验。
Nginx 安装非常的简单,配置文件非常简洁(还能够支持perl语法)。Nginx支持平滑加载新的配置,还能够在不间断服务的情况下进行软件版本的升级。
二、LNMP部署
1、部署 Nginx
(1)安装依赖包
yum -y install pcre-devel zlib-devel openssl-devel
(2)创建运行用户
useradd -M -s /sbin/nologin nginx
(3)编译安装 Nginx
tar xzvf nginx-1.12.0.tar.gz -C /usr/src/
cd /usr/src/nginx-1.12.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
make && make install
ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
或 echo "PATH=$PATH:/usr/local/nginx/sbin" >>/etc/profile && source /etc/profile
nginx //运行nginx服务;killall -9 nginx
netstat -utpln | grep 80
2、部署 Mysql
(1)编译安装 Mysql
yum -y install cmake ncurses-devel
tar -zxvf mysql-5.5.22.tar.gz -C /usr/src
cd /usr/src/mysql-5.5.22/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc/
make && make install
//-DCMAKE_INSTALL_PREFIX:指定Mysql安装目录
//-DDEFAULT_CHARSET:指定默认字符集
//-DDEFAULT_COLLATION:指定使用的字符校验集
//-DWITH_EXTRA_CHARSETS:支持所有其他额外的字符集
//-DSYSCONFDIR:指定配置文件存储目录
(2)优化 Mysql
cp support-files/my-medium.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 35 mysqld on
echo "export PATH=$PATH:/usr/local/mysql/bin/" >>/etc/profile
source /etc/profile
useradd -M -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql/
/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql
/etc/init.d/mysqld start
mysqladmin -u root password '123'
3、部署PHP
(1)安装依赖包
yum -y install gd libxml2-devel libjpeg-devel libpng-devel
(2)新建运行用户
useradd -M -s /sbin/nologin php
(3)编译安装
tar xjvf php-5.3.28.tar.bz2 -C /usr/src/
cd /usr/src/php-5.3.28/
./configure --prefix=/usr/local/php --with-gd –with-zlib --with-mysql=/usr/local/mysql/ --with-config-file-path=/usr/local/php --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib
make && make install
cp php.ini-development /usr/local/php/php.ini
(4)php优化
ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
140 user = php
141 group = php
vim /usr/local/php/php.ini
226 short_open_tag = On
784 default_charset = "utf-8" //设置默认字符集
php-fpm
4、修改Nginx支持动态页面
(1)修改Nginx主配置文件
vim /usr/local/nginx/conf/nginx.conf
Location / {
Root html;
45 Index index.php index.html index.htm;
}
65 location ~ \.php$ {
66 root html;
67 fastcgi_pass 127.0.0.1:9000;
68 fastcgi_index index.php;
69 # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
70 include fastcgi.conf;
71 }
(2)编辑测试页面
vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>
vim /usr/local/nginx/html/test.php
<?php
$link=mysql_connect('localhost','root','123');
if($link) echo "数据库连接成功!";
mysql_close();
?>
重启nginx:
Killall -9 nginx
nginx
或执行 killall -1 nginx
www.xueluo.org/index.php
www.xueluo.org/test.php
5、部署 SKYUC项目(用于测试LNMP环境)电影网站
(1)解压
unzip SKYUC.v3.4.2.SOURCE.zip
cd SKYUC.v3.4.2.SOURCE
rm -rf /usr/local/nginx/html
cp -rf wwwroot/ /usr/local/nginx/html
cd /usr/local/nginx/html
(2)属主
chown -R php:php admincp/ data/ templates/ upload/
(3)创建数据库和授权用户
mysql -u root
mysql> create database skyuc;
mysql> grant all on skyuc.* to skyuc@localhost identified by '123';
mysql> flush privileges;
6、访问
浏览器访问:http://192.168.100.10/index.php
浏览器访问:http://192.168.100.10/admincp/index.php