openresty 支持php,从零搭建php环境-openresty

一、配置编译参数,使用默认> cd /usr/local/src/

> tar -xvf openresty-1.19.3.1.tar.gz

> cd openresty-1.19.3.1

> ./configure -j2

1、Can't locate File/Temp.pm in @INC (you may need to install the File::Temp module) (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at ./configure line 9.yum install perl

2、./configure: error: the HTTP rewrite module requires the PCRE library.

You can either disable the module by using --without-http_rewrite_module

option, or install the PCRE library into the system, or build the PCRE library

statically from the source with nginx by using --with-pcre= option.

ERROR: failed to run command: sh ./configure --prefix=/usr/local/openresty/nginx ...yum -y install pcre-devel

3、./configure: error: SSL modules require the OpenSSL library.

You can either do not enable the modules, or install the OpenSSL library

into the system, or build the OpenSSL library statically from the source

with nginx by using --with-openssl= option.

ERROR: failed to run command: sh ./configure --prefix=/usr/local/openresty/nginx ...yum -y install openssl openssl-develConfiguration summary

+ using system PCRE library

+ using system OpenSSL library

+ using system zlib library

nginx path prefix: "/usr/local/openresty/nginx"

nginx binary file: "/usr/local/openresty/nginx/sbin/nginx"

nginx modules path: "/usr/local/openresty/nginx/modules"

nginx configuration prefix: "/usr/local/openresty/nginx/conf"

nginx configuration file: "/usr/local/openresty/nginx/conf/nginx.conf"

nginx pid file: "/usr/local/openresty/nginx/logs/nginx.pid"

nginx error log file: "/usr/local/openresty/nginx/logs/error.log"

nginx http access log file: "/usr/local/openresty/nginx/logs/access.log"

nginx http client request body temporary files: "client_body_temp"

nginx http proxy temporary files: "proxy_temp"

nginx http fastcgi temporary files: "fastcgi_temp"

nginx http uwsgi temporary files: "uwsgi_temp"

nginx http scgi temporary files: "scgi_temp"

cd ../..

Type the following commands to build and install:

gmake

gmake install

二、编译gmake-L/usr/local/src/openresty-1.19.3.1/build/luajit-root/usr/local/openresty/luajit/lib -L/usr/local/src/openresty-1.19.3.1/build/luajit-root/usr/local/openresty/luajit/lib -Wl,-rpath,/usr/local/openresty/luajit/lib -Wl,--require-defined=pcre_version -Wl,-E -Wl,-E -ldl -lpthread -lcrypt -L/usr/local/src/openresty-1.19.3.1/build/luajit-root/usr/local/openresty/luajit/lib -lluajit-5.1 -lm -ldl -L/usr/local/src/openresty-1.19.3.1/build/luajit-root/usr/local/openresty/luajit/lib -lluajit-5.1 -lm -ldl -lpcre -lssl -lcrypto -ldl -lpthread -lz \

-Wl,-E

sed -e "s|%%PREFIX%%|/usr/local/openresty/nginx|" \

-e "s|%%PID_PATH%%|/usr/local/openresty/nginx/logs/nginx.pid|" \

-e "s|%%CONF_PATH%%|/usr/local/openresty/nginx/conf/nginx.conf|" \

-e "s|%%ERROR_LOG_PATH%%|/usr/local/openresty/nginx/logs/error.log|" \

< docs/man/nginx.8 > objs/nginx.8

gmake[2]: Leaving directory '/usr/local/src/openresty-1.19.3.1/build/nginx-1.19.3'

gmake[1]: Leaving directory '/usr/local/src/openresty-1.19.3.1/build/nginx-1.19.3'

三、安装gmake install

这里不知道为啥跟步骤二返回一致,指南里是分步骤命令,但这里好像是gmake和gmake install 同时执行了

四、使用

从官方的入门使用教程中,感觉跟nginx本身单独安装并无二样;

nginx默认装在openresty安装目录下;可以完全看成一个单独的nginx,按照以前的经验使用;

openresty到底增强了nginx什么,需要在后续使用中发现;

安装就到此结束

四、使用

1、配置nginx配置文件

我们可能会建多个项目,因此会用到虚拟主机配置。这里按常规采用一个主配置,加载多个虚拟主机配置的方式user www;

worker_processes 1;

error_log logs/error.log;

error_log logs/error.log notice;

error_log logs/error.log info;

pid logs/nginx.pid;

events {

worker_connections 1024;

}

http {

include mime.types;

default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

access_log logs/access.log main;

sendfile on;

#tcp_nopush on;

#keepalive_timeout 0;

keepalive_timeout 65;

#gzip on;

#虚拟主机配置 自动加载

include /usr/local/openresty/nginx/conf/nginx.conf.vhost/*.conf;

server {

listen 80;

server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {

root html;

index index.html index.htm;

}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

#

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80

#

#location ~ \.php$ {

# proxy_pass http://127.0.0.1;

#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

#location ~ \.php$ {

# root html;

# fastcgi_pass 127.0.0.1:9000;

# fastcgi_index index.php;

# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;

# include fastcgi_params;

#}

# deny access to .htaccess files, if Apache's document root

# concurs with nginx's one

#

#location ~ /\.ht {

# deny all;

#}

}

# another virtual host using mix of IP-, name-, and port-based configuration

#

#server {

# listen 8000;

# listen somename:8080;

# server_name somename alias another.alias;

# location / {

# root html;

# index index.html index.htm;

# }

#}

# HTTPS server

#

#server {

# listen 443 ssl;

# server_name localhost;

# ssl_certificate cert.pem;

# ssl_certificate_key cert.key;

# ssl_session_cache shared:SSL:1m;

# ssl_session_timeout 5m;

# ssl_ciphers HIGH:!aNULL:!MD5;

# ssl_prefer_server_ciphers on;

# location / {

# root html;

# index index.html index.htm;

# }

#}

}

虚拟主机配置# another virtual host using mix of IP-, name-, and port-based configuration

#

server {

charset utf-8;

listen 80;

server_name blog.54skyer.cn;

set $root /home/www/blog.54skyer.cn/public;

root $root;

#root /home/www/blog.54skyer.cn/public;

index index.php index.html;

# 指定某个目录可以被直接访问

location /54skyer/ {

autoindex on;

}

location / {

# 如果根目录下匹配不是脚本 默认在根目录后拼一个index.php 这是为了在url中省略index.php

if (!-e $request_filename){

rewrite ^(.*) /index.php/$1 last;

break;

}

}

#pathinfo配置 使支持tp5的标准url

location ~ .+\.php($|/) {

fastcgi_pass 127.0.0.1:9000;

fastcgi_split_path_info ^((?U).+.php)(/?.+)$;

fastcgi_param PATH_INFO $fastcgi_path_info;

fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;

fastcgi_param SCRIPT_FILENAME $root$fastcgi_script_name;

include fastcgi_params;

}

# 匹配到php扩展名的url

#location ~\.php$ {

# include /usr/local/openresty/nginx/conf/fastcgi.conf;

# fastcgi_intercept_errors on;

# #转发给php-fpm,其端口是9000;

# fastcgi_pass 127.0.0.1:9000;

#}

}

# HTTPS server

#

#server {

# listen 443 ssl;

# server_name localhost;

# ssl_certificate cert.pem;

# ssl_certificate_key cert.key;

# ssl_session_cache shared:SSL:1m;

# ssl_session_timeout 5m;

# ssl_ciphers HIGH:!aNULL:!MD5;

# ssl_prefer_server_ciphers on;

# location / {

# root html;

# index index.html index.htm;

# }

#}

2、配置开机自启动> vim /etc/init.d/nginx

# 复制粘贴脚本代码,保存退出

> chmod a+x /etc/init.d/nginx # 设置可执行权限

> chkconfig --add nginx # 注册成服务

> chkconfig nginx on # 设置开机自启动

> reboot # 重启检测自否开机自启动

> ps aux | grep nginx

#或 netstat -nplt | grep nginx

复制粘贴自启脚本如下#! /bin/bash

# Startup script for the nginx Web Server

# chkconfig: - 85 15

# description: nginx is a World Wide Web server. It is used to serve

PATH=/usr/local/openresty/nginx

DESC="nginx daemon"

NAME=nginx

DAEMON=$PATH/sbin/$NAME

CONFIGFILE=$PATH/conf/$NAME.conf

PIDFILE=$PATH/logs/$NAME.pid

SCRIPTNAME=/etc/init.d/$NAME

set -e

[ -x "$DAEMON" ] || exit 0

do_start() {

$DAEMON -c $CONFIGFILE || echo -n "nginx already running"

}

do_stop() {

$DAEMON -s stop || echo -n "nginx not running"

}

do_reload() {

$DAEMON -s reload || echo -n "nginx can't reload"

}

case "$1" in

start)

echo -n "Starting $DESC: $NAME"

do_start

echo "."

;;

stop)

echo -n "Stopping $DESC: $NAME"

do_stop

echo "."

;;

reload|graceful)

echo -n "Reloading $DESC configuration..."

do_reload

echo "."

;;

restart)

echo -n "Restarting $DESC: $NAME"

do_stop

do_start

echo "."

;;

*)

echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2

exit 3

;;

esac

exit 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值