搭建LNMP网站服务平台
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搭建LNMP网站服务平台相关的知识,希望对你有一定的参考价值。
一、安装及运行控制nginx
1.编译安装Nginx
Ngin的配置及运行需要pcre、zlib的软件包的支持,因此预先安装这些软件的开发包。
为Nginx创建专门的用户和组(默认是以nobody身份运行的)
编译安装Nginx
选项”--with-http_stub_status_module”:表示启用该模块以支持状态统计。
为主程序nginx创建链接文件,优化执行路径。
2.Nginx的运行控制
配合选项”-t”检查配置文件(配置文件nginx.conf默认位于安装目录下的conf/子目录中,若要检查位于其他位置的配置文件,可以结合”-c”选项来指定路径。)
直接运行nginx即可启动Nginx服务器(这种方式使用默认的配置文件,若要改用其他配置文件,同样需要结合”-c”选项。)
注意:若服务器中已装有其他web服务软件,应采取措施(修改端口、停用或卸载)避免冲突。
检查监听状态,确认Nginx服务是否正常运行
主程序nginx支持标准的进程信号:
killall -s HUP nginx //重载nginx配置
killall -s QUIT nginx //退出nginx进程
killall -s KILL nginx //杀死进程
或者
kill $(cat /usr/local/nginx/logs/nginx.pid)
使用脚本来进行启动、停止、重载等操作更加方便:
赋予脚本执行权限
添加nginx系统服务
3.配置文件nginx.conf
主配置文件/usr/local/nginx/conf/nginx.conf中包括全局配置、I/O事件配置、HTTP配置三块内容,配置语句格式为“关键字 值;”(末尾以分号结束)。
(1)全局配置
不使用特定的界定标志,包括常用的设置如下:
user nginx;//运行用户
worker_processes 1; //工作进程数量
error_log logs/error.log; //错误日志文件位置
pid logs/nginx.pid; //PID文件的位置
(2)I/O事件配置
使用”events {}”界定标记,用来指定Nginx进程的I/O响应模型、每个进程的连接数等设置等,如下:
events {
use epoll; //使用epoll模型,提高性能。
worker_connections 4096; //每个进程处理4096个连接(默认为1024)
}
(3)HTTP配置
使用”http {}”界定标记,在HTTP配置中还存在一种子界定标记”server {}”,是用来指定虚拟Web站点的配置,常用的设置如下:
http {
……
access_loglogs/access.log main; //访问日志位置
sendfileon; //支持文件发送(下载)
keepalive_timeout65;//连接保持超时,即超过指定时间后会释放该链接。(当在后台需要上传较大的文件时,可以暂时增大该数值,之后一定要将其恢复原值,否则连接容易达到上限,导致服务器出现故障。)
server{//虚拟web主机配置
listen80; //监听地址即端口
server_namewww.benet.com; //网站名称(FQDN)
charsetutf-8; //网页默认字符集
location / { //根目录配置
root/var/www/html; //网站根目录的位置
indexindex.htmlindex.php; //默认首页
}
error_page500502503504/50x.html; //内部错误的反馈页面
location = /50.html{ //错误页面配置
roothtml;
}
location /status { //设置访问状态统计
stub_statuson; //打开状态统计功能
access_logoff; //关闭此位置的日志记录
}
}
}
这里为了方便验证,创建了一个简单的网页,修改/etc/hosts文件指定域名的IP地址,并修改/etc/resolv.conf指定首选DNS为本机。
创建网页
添加hosts记录
设置DNS服务器地址
重启nginx服务
使用域名访问网站成功
查看网站的访问情况,
“Active connections”表示当前的活动连接数
“server accepts handled requests”表示已经处理的连接信息,三个数字依次表示:
已处理的连接数(4) 成功的TCP握手次数(4) 已处理的请求数(7)
二、安装mysql数据库
以5.5.22版本为例,安装过程如下:
(1)编译安装MySQL
[[email protected] ~]# yum -y install ncurses-devel
[[email protected] ~]#tar zxf cmake-2.8.8.tar.gz
[[email protected] ~]#cd cmake-2.8.6
[[email protected] cmake-2.8.6]# ./configure && gmake && gmake install
[[email protected] ~]# tar zxf mysql-5.5.22.tar.gz
[[email protected] ~]# cd mysql-5.5.22
[[email protected] mysql-5.5.22]#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DDEFAULT_CHARSET=utf-8 -DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS=all -DSYSCONFDIR=/etc && make && make install
(2)优化调整
[[email protected] mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf
[[email protected] mysql-5.5.22]# cp support-files/mysql.server /etc/init.d/mysqld
[[email protected] ~]# chmod +x /etc/init.d/mysqld
[[email protected] ~]# chkconfig --add mysqld
[[email protected] ~]# echo “PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile
[[email protected] ~]# source /etc/profile
(3)初始化数据库
[[email protected] ~]# useradd -M -s /sbin/nologin mysql
[[email protected] ~]# chow -R mysql:mysql /usr/local/mysql
[[email protected] ~]# /usr/local/mysql/script/mysql_install_db --basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data --user=mysql
(4)启动mysql服务
[[email protected] ~]# service mysql start
[[email protected] ~]# mysqladmin -u root password ‘123456’
三、安装PHP解析环境
(1)编译安装PHP
这里的MySQL服务是安装在本地的
“--with-fpm”启用FPM模块,用来对PHP解析实例进行管理,优化解析效率。
(2)安装后的调整
(3)安装ZendGuardLoader
四、配置Nginx支持PHP环境
让Nginx能够解析PHP网页,有两种方法可以:
其一,充当中介,将访问的PHP页面的web请求转交给其他服务器(LAMP)处理;
其二,通过使用PHP的FPM模块调用本机的PHP环境。
这里使用FPM方式
(1)启用php-fmp进程
参考范例建立php-fpm.conf配置文件
确认pid文件位置
运行用户
运行组
启动时开启的进程数
最少控线进程数
最多控线进程数
启动php-fpm程序,默认监听本机的9000端口
可以编辑nginx服务脚本,添加以上内容,以便在启动/停止nginx服务器时将php-fpm进程也自动启动/停止。
(2)配置nginx支持PHP解析
补充:若交给IP地址为192.168.1.253的LAMP服务器处理,从而实现由Nginx负责静态页面,LAMP负责动态页面的配置方法为:
server {
……
location ~ \.php$ { //访问.php页面的配置段
proxy_passhttp://192.168.1.253:80; //Apache服务器的监听地址
}
}
完成修改后,重启Nginx服务。
(2)php页面访问测试
访问测试网页,出现以下内容,说明PHP解析及数据库连接均正常
LNMP平台的搭建到此就完成了,可以根据具体的需求部署动态的web网站了。
本文出自 “网络技术” 博客,请务必保留此出处http://fjc365.blog.51cto.com/11891287/1884420
以上是关于搭建LNMP网站服务平台的主要内容,如果未能解决你的问题,请参考以下文章