一、Nginx
1、Nginx的作用和特点
1)Nginx的作用
网站平台
缓存功能
反向代理功能
2)特点
开源
硬件开销小
支持高并发访问
可靠性强
2、常见的网站平台
1)IIS
Windows的网站平台
图形化界面
模块化设计
使用简单
2)apache
处理太网站数据
占用硬件资源大
处理数据速度慢
3)Nginx
功能多
可靠稳定
处理数据速度快
4)Tomcat
发布java语言开发的项目
占用内存资源高
3、安装Nginx
安装Nginx依赖程序
[root@centos05 ~]# yum -y install pcre-devel zlib-devel
创建管理nginx账户
[root@centos05 ~]# useradd -M -s /sbin/nologin nginx
[更换linux镜像]
解压Nginx
[root@centos05 ~]# tar zxvf /mnt/nginx-1.6.0.tar.gz -C /usr/src/
配置nginx
[root@centos05 nginx-1.6.0]# ./configure --prefix=/usr/local/nginx --user=nginx --with-http_stub_status_module
编译安装Nginx
[root@centos05 nginx-1.6.0]# make && make install
优化Nginx命令
[root@centos05 ~]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
启动服务监听端口
[root@centos05 ~]# nginx
[root@centos05 ~]# netstat -anptu | grep nginx
重新启动nginx
[root@centos05 ~]# killall -s HUP nginx
[root@centos05 ~]# killall -s 1 nginx
关闭Nginx服务
[root@centos05 ~]# killall -s QUIT nginx
[root@centos05~]# killall -s 3 nginx
5、主配置文件常见的配置选项
1)全局配置文件
对整个nginx生效
2)server
虚拟主机配置文件
3)性能优化
worker_processes 1; //进程数量,CPU决定
events {
worker_connections 1024; //一个进程相应1024个链接请求
}
use epoll; //使用epoll模型相应客户端请求
user nobody; //默认管理账户nobody
6、配置基于域名虚拟主机
创建网站根目录
[root@centos05 ~]# mkdir -p /www/benetcom
[root@centos05 ~]# mkdir -p /www/accpcom
[root@centos05 ~]# echo “www.benet.com” > /www/benetcom/index.html
[root@centos05 ~]# echo “www.accp.com” > /www/accpcom/index.html
修改nginx主配置文件
[root@centos05 ~]# vim /usr/local/nginx/conf/nginx.conf
www.benet.com
www.accp.com
修改hosts文件
[root@centos05 ~]# vim /etc/hosts
Ping www.benet.com
Ping www.accp.com
测试主配置文件是否正常
[root@centos05 ~]# nginx -t
访问浏览器
解压数据库
[root@centos05 ~]# tar zxvf /mnt/mysql-5.5.22.tar.gz -C/usr/src/
(切换CentOS光盘)
安装依赖
[root@centos05 ~]# yum -y install cmake ncurses-devel
创建组和用户
[root@centos05 ~]# groupadd mysql
[root@centos05 ~]# useradd -M -s /sbin/nologin -g mysql mysql
配置mysql
[root@centos05 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
编译安装mysql
[root@centos01 mysql-5.5.22]# make && make install
生成mysql服务配置文件
[root@centos05 mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf
生成服务控制文件
[root@centos05 mysql-5.5.22]# cp support-files/mysql.server /etc/init.d/mysqld
[root@centos05 mysql-5.5.22]# chmod +x /etc/init.d/mysqld
添加系统服务设置开机自动启动
[root@centos05 ~]# chkconfig --add mysqld
[root@centos05 ~]# chkconfig --level 35 mysqld on
优化mysql命令
[root@centos05 ~]# vim /etc/profile
/etc/profile
PATH=$PATH:/usr/local/mysql/bin/
[root@centos05 ~]# source /etc/profile
初始化mysql
[root@centos05 ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
启动服务
[root@centos05 ~]# systemctl start mysqld
设置访问密码
[root@centos05 ~]# mysqladmin -uroot password
登录mysql
[root@centos05 ~]# mysql -uroot -ppwd123
二、配置LNMP平台
1、LNMP组成和特点
1)LNMP的组成
Linux:使用Linux系统平台
N:Nginx网站平台
M:后端数据库使用的mysql
p:开发网站的语言php、python、perl、html
2)LNMP的特点
开源
模块化设计
支持广泛的网站开发语言
安全性强
可靠性强
2、Nginx主持动态语言解析的方式
1)动静分离
静态请求Nginx处理
动态请求Nginx转发到apache处理
2)使用FPM模块解析动态语言
需要在php中启动fastcgi模块解析php动态语言
3.安装php
安装php的依赖程序
[root@centos05 ~]# yum -y install gd libxml2-devel libjpeg-devel libpng-devel
(配置加速)
切换到Linux光盘
[root@centos05 ~]# tar zxvf /mnt/php-5.3.28.tar.gz -C /usr/src
配置php
[root@centos05 php-5.3.28]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-config-file-path=/use/local/php --enable-mbstring --enable-fpm --with-gd --with-zlib --with-jpeg-dir=/usr/lib/
编译安装php
[root@centos05 php-5.3.28]# make && make install
生成php主配置文件
[root@centos05 php-5.3.28]# cp php.ini-production /usr/local/php/php.ini
优化php执行命令
[root@centos05 php-5.3.28]# ln -s /usr/local/php/bin/* /usr/local/bin/
[root@centos05 ~]# ln -s /usr/local/php/sbin/* /usr/local/sbin/
解压Zend加速
[root@centos05 ~]# tar zxvf /mnt/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /usr/src/
配置Zend加速
[root@centos05 php-5.3.x]# cp ZendGuardLoader.so /usr/local/php/lib/php/
[root@centos05 ~]# vim /usr/local/php/php.ini
4、配置php-fpm解析php动态语言
生成php-fpm主配置文件
[root@centos05 ~]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
修改php-fpm配置文件
[root@centos05 ~]# vim /usr/local/php/etc/php-fpm.conf
启动php-fpm
[root@centos05 ~]# php-fpm
5、修改nginx主配置文件连接php协同工作
修改nginx主配置文件
[root@centos05 ~]# vim /usr/local/nginx/conf/nginx.conf
检查主配置文件
[root@centos05 ~]# nginx -t
设置php测试页
[root@centos05 ~]# vim /www/benecom/index.php
访问www.benet.com/index.php
6.部署论坛
解压论坛配置文件
[root@centos05 ~]# unzip Discuz_X3.2_SC_UTF8.zip
剪切项目文件到网站根目录
[root@centos05 ~]# mv upload/* /www/benetcom/
设置目录所有者和权限
[root@centos05 ~]# chown -R nginx:nginx /www/benetcom/
[root@centos05 ~]# chmod -R 755 /www/benetcom/
创建论坛项目使用的数据库文件
登录数据库
[root@centos05 ~]# mysql -uroot -ppwd123
mysql> grant all on bbs.* to ‘bbs’@‘localhost’ identified by ‘pwd123’;
mysql> create database bbs;
访问
验证
数据全部导入
登录论坛后台
mysql> create databases media;
mysql> grant all on media.* to ‘bbs’@‘localhost’ identified by ‘pwd123’;
登录
访问