支持高并发Web服务器搭建

一、搭建

服务器环境:

操作系统:CentOS7,16G内存,8核cpu

安装软件版本: ,php5.6,php-fpm,nginx1.8.1,openresty-1.9.3

安装位置:/nginxLua

openresty所在目录:/nginxLua/openresty

nginx所在目录:/nginxLua/openresty/nginx

nginx.conf所在目录:/nginxLua/openresty/nginx/conf

nginx启动项所在目录:/nginxLua/openresty/nginx/sbin/nginx

linux内核参数配置项(sysctl.conf):/etc/sysctl.conf

php-fpm.conf所在:/etc/php-fpm.conf

php-fpm配置项:/etc/php-fpm.d/www.conf

web目录:/web/html

lua代码目录:/web/lua

什么是openresty?

Openresty是一款nginx+lua的集成包,在目前相对lua扩展不是很健全,openresty是一个很好的选择,里面集成lua的基本模板

什么是lua?

Lua详细的可以百度,作用就是结合nginx可以实现非常高并发的接口,所以lua主要是用来写接口

什么是nginx?

一种类似apache的web服务器,强大的负载均衡和高并发,epoll的高效处理模式是它的优势,但其实他处理php的速度是跟apache不相上下的,但整体来说效率还是比apache快很多,因为他的异步非阻塞的处理机制

编译安装openresty 下载安装包(ngx_openresty-1.9.3.1.tar.gz解压密码:0516) 把压缩包拷到服务器上进行解压(创建一个文件夹openresty)

tar -zxvf ngx_openresty-1.9.3.1.tar.gz -C /openresty

在编译之前你需要安装一些基本的依赖包

yum update
yum -y install gcc gcc-c++ autoconf automake
yum -y install zlib zlib-devel openssl openssl-devel pcre-devel readline-devel
yum -y install make

nginx相关命令:

开启:/nginxLua/openrety/nginx/sbin/nginx
关闭:/nginxLua/openrety/nginx/sbin/nginx -s stop
平滑关闭 /nginxLua/openrety/nginx/sbin/nginx -s quit
重新加载配置 /nginxLua/openrety/nginx/sbin/nginx -s reload

防火墙相关配置

firewall-cmd –permanent –query-port=9000/tcp 查看是否开启9000端口
firewall-cmd –permanent –add-port=9000/tcp 添加防火墙对9000端口开放
systemctl start firewalld.service 开启防火墙
systemctl stop firewalld.service 禁止使用防火墙
firewall-cmd –reload 防火墙配置加载

php-fpm相关命令

/usr/sbin/php-fpm -c /etc/php.ini 启动
kill -SIGUSR2 cat /run/php-fpm/php-fpm.pid 重启
kill -SIGINT cat /run/php-fpm/php-fpm.pid 关闭

进入openresty开始编译安装

./configure –prefix=/openresty
–with-luajit
–with-http_iconv_module
–with-http_postgres_module

make && make install

测试是否安装成功

开启nginx: /openresty/openrety/nginx/sbin/nginx

修改配置文件:vi /openresty/openresty/conf/nginx.conf

在配置文件中的server中加一个location:
location /lua {
default_type ‘text/html’;
content_by_lua‘
ngx.say(“hellow,word”)
’;
}

开启nginx服务:/openresty/openrety/nginx/sbin/nginx

curl 127.0.0.1/lua

可以看到结果:hellow,word 说明nginx加lua已经编译安装好了

安装php-5.6

添加yum源

CentOs 5.x
rpm -Uvh
CentOs 6.x
rpm -Uvh
CentOs 7.X
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装php-5.6

yum -y install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-MySQL.x86_64 php56w-pdo.x86_64 php56w-pear.noarch php56w-process.x86_64 php56w-xml.x86_64 php56w-xmlrpc.x86_64

安装php56w-fpm (nginx编译php文件的关键)

yum install php56w-fpm -y

配置nginx支持编译php文件(编辑nginx.conf)

location ~ .php(.*)
             root html; 
             fastcgi_pass 127.0.0.1:9000; 
             fastcgi_index  index.php; 
             fastcgi_split_path_info ^(.+.php)(.*)
;//支持thinkphp路由规则的重要配置
fastcgi_param SCRIPT_FILENAME document

支持高并发Web服务器搭建

r

支持高并发Web服务器搭建

oot

支持高并发Web服务器搭建

fastcgi_script_name;
fastcgi_param PATH_INFO fastcgi

支持高并发Web服务器搭建

p

支持高并发Web服务器搭建

ath

支持高并发Web服务器搭建

i

支持高并发Web服务器搭建

nfo;fastcgi

支持高并发Web服务器搭建

p

支持高并发Web服务器搭建

aramPATH

支持高并发Web服务器搭建

T

支持高并发Web服务器搭建

RANSLATED

支持高并发Web服务器搭建

document_root$fastcgi_path_info;
include fastcgi_params;
}

启动nginx和php-fpm,测试输出php文件是否有效 502 bad getway :很有可能就是你上面配置出现错误了 php文件被下载了:说明nginx不能编译php文件,直接坐位普通文件下载了,要检查配置文件是否做了相关的配置

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6d4e17837bbef8ae38eea5b58957c7e7.html