分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

lnmp平台搭建及网站搭建

发布时间:2023-09-06 01:45责任编辑:彭小芳关键词:暂无标签
一、Nginx服务基础
Nginx专为性能优化开发,其最知名的优点是他的稳定性和低系统资源消耗,以及对HTTP并发链接的高处理能力。
1.安装pcre.zlib开发包,以便提供相应的库和头文件
yum -y install pcre-devel zlib-devel
2.创建运行用户、组
useradd -M -s ?/sbin/nologin nginx ????#nginx默认以nobody身份运行,建议为其创建专门的用户账号,不建立主文件夹,禁止登录到shell环境
3.编译安装Nginx
[root@nginx ~]# tar zxf nginx-1.13.7.tar.gz -C /usr/src

./configure --help ?查看具体配置选项,根据实际情况制定



因为更改了系统的日期和时间,从而导致了系统当前时间和内核系统时间的不一致
把内核时间更新到当前时间
hwclock --hctosys

解决
4.创建软连接,方便使用
ln -s /usr/local/nginx/sbin/nginx ?/usr/local/sbin

5.Nginx的运行控制
nginx -t ?#检查配置文件是否正确
可以添加-c选项,检查其他配置文件
nginx ???#启动服务



测试连接成功
killall -s HUP nginx ???#重启nginx服务
killall -s QUIT nginx ????#停止nginx服务
当nginx运行时,PID号存放在logs/目录下的nginx.pid文件中,也可以通过PID进程号进行控制
编写shell脚本配合chkconfig,service进行控制


这样就可以使用脚本启动停止重启重载nginx服务器了
二、配置文件nginx.conf
nginx.conf文件包含三部分配置,分别是全局配置、I/O事件配置和HTTP配置
1.全局配置
#user ?nobody; ?//运行用户 默认为nobody,在配置时已经指定用户
worker_processes ?1; //工作的进程数量,可以根据cpu核心总数来指定工作进程数
#error_log ?logs/error.log;//错误日志文件的位置
#pid ???????logs/nginx.pid; //PID文件的位置

2.I/O事件配置
events {
use epoll ?//使用epoll模型
worker_connections ?4096;每个进程处理4096个进程连接,一般在10000以下
}
nginx服务提供的连接数为 ???工作的进程数 ?乘以 ?每个进程提供的连接数

3.HTTP配置,用于完成web站点的设置


3.1开启状态统计测试


查看配置文件是否正确 ?nginx -t
测试

active connections表示当前的活动连接数
server accepts handled requests 表示已处理的连接数,成功的tcp握手次数,已处理的请求数

三、配置基于域名的虚拟主机
修改配置文件中的server,一组server代表一个网站
1.创建网站目录及首页文件

2.修改配置文件nginx.conf


3.重载nginx服务测试


四、构建LNMP架构及应用部署
1.安装MySQL,参考http://blog.51cto.com/12879627/2060579
2.安装PHP
php已经自带FPM(fastCGI Process Manager FastCGI进程管理器)模块,用来对php解析实例进行管理、优化解析效率。需要启用--enable-fpm以启用此模块。
1)编译安装
yum -y install gd libxml2-devel libjpeg-devel libpng-devel
tar zxf php-5.3.28.tar.gz -C /usr/src
cd /usr/src/php-5.3.28/
./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib
make&&make install ????????????????????????????????????????????????????????????????????????????????????????????????????????
--prefix ?:指定安装目录
--with-gd --with-zlib :打开zlib库的支持 ???打开gd库的支持
--with-mysql=/usr/local/mysql :mysql安装目录,对mysql的支持
--with-config-file-path=/usr/local/php5 :指定php.ini位置
--enable-mbstring :多字节,字符串的支持
--enable-fpm :CGI方式安装才用的参数,打上PHP-fpm 补丁后才有这个参数,CGI方式安装的启动程序
-with-jpeg-dir=/usr/lib :打开对jpeg图片的支持
可以./configure --help 查询选项
2)调整配置文件,及优化使用

复制模板,创建主配置文件
创建软连接,方便使用
3)安装zend guard loader
r用优化代码的方法来提高PHP应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。一般情况下,执行使用Zend的PHP程序比不使用的要快40%到100%
复制解压后的模块

 ???修改php.ini文件,增加以下几项

配置出错
Failed loading /usr/local/php5/lib/php/ZendGuardLoader.so: ?/usr/local/php5/lib/php/ZendGuardLoader.so: wrong ELF class: ELFCLASS32

以上错误的原因是64位系统用了32位的ZendGuardLoader.so,更换安装包后
解决,版本需与之匹配

3.配置nginx支持php环境有两种让nginx支持php的方法

充当中介,将访问php页面的web请求转交给其他的服务器(lamp)去处理
通过使用php的FPM模块来调用本机的php环境
1)启用php-fpm模块
创建php-fpm程序用户

修改php-fpm.conf配置文件修改相关参数,然后启动php-fpm进程,php-fpm默认监听本机的9000端口

pid = run/php-fpm.pid ??//确认pid文件的位置
user = php ??????????????//运行用户
group = php ????????????//运行组
pm.start_servers = 20 ??????//启动时开启的进程数
pm.min_spare_servers = 5 ???//最小空闲进程数
pm.max_spare_servers = 35 ?//最大空闲进程数
pm.max_children = 50 ???????//最大子进程数
可以直接运行php-fpm启动,默认端口9000,也可以写入nginx服务脚本

添加箭头指示的,可以随着nginx启动

2)修改nginx配置文件,支持PHP网页访问

3)测试访问


file ?not ?find

思路:查看在服务器本地访问,也不行,查看服务端口,正常,那就是nginx连接PHP出错了,修改nginx.conf

重启nginx,成功

lnmp平台搭建及网站搭建

原文地址:http://blog.51cto.com/12879627/2084417

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved