部署NGINX+PHP+Thinkphp
一直想用NGINX替換現有的APACHE,最近終於開始做了。
負載均衡+7臺NGINX伺服器作為後端。挺爽的,呵呵。開始做吧 。。。
一,安裝NGINX
# yum install -y pcre pcre-devel
# yum install -y zlib zlib-devel
# yum install -y openssl openssl-devel
安裝NGINX需要的依賴。
# mkdir nginx-src && cd nginx-src # wget http://nginx.org/download/nginx-1.7.3.tar.gz # tar xzf nginx-1.7.3.tar.gz # cd nginx-1.7.3
./configure \ --prefix=/usr/local/nginx \ --with-http_realip_module \ --with-http_sub_module \ --with-http_gzip_static_module \ --with-http_stub_status_module \ --with-pcre#make
#make install
#ln
-sf
/usr/local/nginx/sbin/nginx
/usr/sbin
#nginx
-t //成功了
修改nginx配置檔案
> /usr/local/nginx/conf/nginx.conf
vim /usr/local/nginx/conf/nginx.conf
user nobody nobody; worker_processes 2; error_log /usr/local/nginx/logs/nginx_error.log crit; pid /usr/local/nginx/logs/nginx.pid; worker_rlimit_nofile 51200; events { use epoll; worker_connections 6000; } http { include mime.types; default_type application/octet-stream; server_names_hash_bucket_size 3526; server_names_hash_max_size 4096; log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]' '$host "$request_uri" $status' '"$http_referer" "$http_user_agent"'; sendfile on; tcp_nopush on; keepalive_timeout 30; client_header_timeout 3m; client_body_timeout 3m; send_timeout 3m; connection_pool_size 256; client_header_buffer_size 1k; large_client_header_buffers 8 4k; request_pool_size 4k; output_buffers 4 32k; postpone_output 1460; client_max_body_size 10m; client_body_buffer_size 256k; client_body_temp_path /usr/local/nginx/client_body_temp; proxy_temp_path /usr/local/nginx/proxy_temp; fastcgi_temp_path /usr/local/nginx/fastcgi_temp; fastcgi_intercept_errors on; tcp_nodelay on; gzip on; gzip_min_length 1k; gzip_buffers 4 8k; gzip_comp_level 5; gzip_http_version 1.1; gzip_types text/plain application/x-javascript text/css text/htm application/xml; server { listen 80; server_name localhost; index index.php index.html index.htm; root /alidata/www/abc; #如果檔案不存在則嘗試TP解析 try_files $uri /index.php$uri; location ~ .+\.php($|/){ root /alidata/www/abc; index index.php fastcgi_index index.php; fastcgi_pass unix:/tmp/php-fcgi.sock; include fastcgi_params; set $path_info ""; set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ "^(.+?.php)(/.+)$") { set $real_script_name $1; set $path_info $2; } fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO $path_info; } } }
# vi /etc/init.d/nginx
#!/bin/bash
# chkconfig: - 30 21
# description: http service.
# Source Function Library
. /etc/init.d/functions
# Nginx Settings
NGINX_SBIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
NGINX_PID="/usr/local/nginx/logs/nginx.pid"
RETVAL=0
prog="Nginx"
start() {
echo -n $"Starting $prog: "
mkdir -p /dev/shm/nginx_temp
daemon $NGINX_SBIN -c $NGINX_CONF
RETVAL=$?
echo
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
killproc -p $NGINX_PID $NGINX_SBIN -TERM
rm -rf /dev/shm/nginx_temp
RETVAL=$?
echo
return $RETVAL
}
reload(){
echo -n $"Reloading $prog: "
killproc -p $NGINX_PID $NGINX_SBIN -HUP
RETVAL=$?
echo
return $RETVAL
}
restart(){
stop
start
}
configtest(){
$NGINX_SBIN -c $NGINX_CONF -t
return 0
}
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
restart
;;
configtest)
configtest
;;
*)
echo $"Usage: $0 {start|stop|reload|restart|configtest}"
RETVAL=1
esac
exit $RETVAL
# 設定開機啟動
# chmod +x /etc/init.d/nginx
# chkconfig --add nginx
# chkconfig nginx on/off
# chkconfig --list nginx
nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off
安裝PHP 和 php-fpm
請檢視http://heilinux.blog.51cto.com/6123663/1575582
其中的配置:
./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--enable-fpm \
--with-fpm-user=php-fpm \
--with-fpm-group=php-fpm \
--with-mysql=mysqlnd \
--with-mysql-sock=/tmp/mysql.sock \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-ftp \
--enable-mbstring \
--enable-exif \
--disable-ipv6 \
--with-pear \
--with-curl \
--with-openssl
配置php.ini以及php-fpm,並新增為啟動項
cp php.ini-production /usr/local/php/etc/php.ini cp /usr/local/php/etc/php-fpm.conf.default.conf php-fpm.conf
/usr/local/php/sbin/php-fpm -t
vim /etc/init.d/php-fpm
輸入一下內容:
[global] pid = /usr/local/php/var/run/php-fpm.pid error_log = /usr/local/php/var/log/php-fpm.log [www] listen = /tmp/php-fcgi.sock user = nobody group = nobody listen.owner = nobody listen.group = nobody pm = dynamic pm.max_children = 50 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 500 rlimit_files = 1024
設定
chmod 755 /etc/init.d/php-fpm service php-fpm start
chkconfig php-fpm on
ps aux |grep php-fpm
netstat -ant |grep 9000
新增 PHP 命令到環境變數
編輯 ~/.bash_profile
,將:
PATH=$PATH:$HOME/bin
改為:
PATH=$PATH:$HOME/bin:/usr/local/php56/bin
使 PHP 環境變數生效:
# . ~/.bash_profile
thinkphp關鍵的配置是在nginx的配置中的路由設定。
--
注意,如果用phpinfo()沒發現Redis,可以看看 http://blog.csdn.net/yizdream/article/details/52314312
相關推薦
部署NGINX+PHP+Thinkphp
一直想用NGINX替換現有的APACHE,最近終於開始做了。 負載均衡+7臺NGINX伺服器作為後端。挺爽的,呵呵。開始做吧 。。。 一,安裝NGINX # yum install -y pcre pcre-devel # yum install -y zlib zlib
saltstack部署nginx+php
php memcached saltstack redis protobuf 因為基本上生產環境中都是nginx+php的環境,所以就不單獨列出salt部署php的過程了,這裏就結合我在生產環境中的腳本進行nginx+php環境的部署。部署規劃:1)編譯安裝libiconv、libmcry
使用Ansible安裝部署nginx+php+mysql
private restart keepalive pri pes cts err document fault 前提: 1、已配置好hosts文件且免密碼登錄 2、需要的yaml文件已上傳到主控端 一、使用Ansible安裝nginx 1、nginx.yaml文件 1
【03】Cent OS 7 中部署Nginx + PHP 環境
ima sdn 官網下載 stat 步驟 x86_64 def www ttext 一、Nginx環境部署 1、部署說明 1)確保系統安裝GCC編譯器及相關工具。上篇文章中已說明,使用 rpm包 安裝部署。 2)rewrite 模塊需要 pcre 庫。樓主使用的是 pcre
用docker部署nginx+php環境時,訪問php檔案不執行
今天用docker部署nginx+php環境時,訪問php頁面,提示404錯誤。檢視docker日誌發現下面錯誤: [error] 6#6: *1 connect() failed (111: Conn
thinkphp 3.2.3在nginx+php下的url重寫配置經驗
重啟 des for scrip erro desc stub think jpeg 環境:centos7.2+lnmp1.3(nginx+php7.0+mysql5.5) 進入服務器配置路徑:cd /usr/local/nginx/conf/nginx.conf 修改n
nginx 環境 thinkphp 隱藏index.php
$1 lan root hid info script htm 自己 問題 tp官網已經寫了 http://doc.thinkphp.cn/manual/hidden_index.html 不生效 重啟nginx .問題依舊 kill掉nginx進程 再啟動 貼段自己
Centos 6.6 下 nginx +php mysql + phpMyadmin 安裝部署
linux mysql php lnmp LNMP架構介紹: Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一組常用來搭建動態網站或者服務器的開源軟件,本身都是各自獨立的程序,但是因為常被放在一起使用,擁有了越來越高的兼容度,共同組成了一個強大的Web應用
ccentos 7下安裝php5.6並使用nginx + php-fpm部署多個不同端口網站
png .net 又一 介紹 htm sea tip 編輯 端口 作為一個的勤雜工,近期因公司內部信息化的需求,給新進員工提供基礎的知識培訓和介紹,也為了給公司內部建立一個溝通交流的平臺,百度找了開源的百科系統HDwiki和開源的問答系統Tipask問答系統,蛋痛的這兩套系
社交網站部署——Nginx服務器+PHP服務器搭建+MySQL主從集群
安裝環境 nginx服務器 環境 tar.gz fast vim tex use nginx 案例概述 某公司的社交網站采用PHP語言開發,為了管理PHP程序員開發的代碼,上級領導要求搭建SVN服務器進行版本控制。社交網站的第一個版本部署在LNMP平臺之上,前端為Nginx
基於ansible自動化部署nginx+mysl+php分離來實現lnmp
generate cti disabled don .so files starting free using 實驗說明: 服務角色 IP 系統 需安裝 主控機 192.168.24.128 centos7 ansible A受控機 192.168.24.
部署社交網站全過程(Nginx+PHP+Mysql+MFS+SVN)
php程序 要求 tex 需要 nor mkdir -p bison 首頁 fastcgi 案列概述 公司的社交網站采用PHP語言開發,為了管理PHP程序員開發的代碼,上級領導要求搭建SVN服務器進行版本控制。社交網站的第一個版本部署在LNMP平臺上,前端為Nginx,通
一篇博客讓你學會部署社交網站( SVN+nginx+PHP+MySQL+MFS 內含所有源碼包)
con 從服務器 etc ini support php 添加 php程序員 type 根據公司要求,實施過程大致如下:1 部署SVN服務器,為PHP程序員創建repo目錄的訪問賬戶,通知程序員可以導入代碼2 部署nginx服務器3 部署PHP服務器4 部署MySQL主從服
docker 部署nginx、php-fpm
假設機器上已經安裝好docker環境 一.執行nginx容器 1.查詢Docker Hub 上的nginx 映象 [email protected]:~/nginx$ docker search nginx NAME DESCRIPTION
debian安裝nginx,php-fpm,php-mysql完成環境部署
1.安裝nginx apt-get install nginx 2.進入/etc/nginx/sites-available目錄編輯default配置檔案,內容如下 [email protected]:/etc/nginx/sites-available#gedit defa
linux nginx配置php(Thinkphp)
#nginx配置php(Thinkphp)的那些坑 最近想在nginx配置php,發現網上大多教程的不行,後來發現原來是要php5.6及以上版本,而且還要安裝php-fpm 下面是我的nginx的配置檔案 location ~ \.php$ {
centos7下部署nginx與php
背景介紹 相信讀者在看這篇文章之前已經fastcgi,php-fpm有所瞭解。大概來講php語言需要fastcgi程式,即php直譯器解釋,而php直譯器需要php-fpm管理器進行排程。 以下對CGI、FastCGI、php-fpm之間關係進行通俗解釋(來源於知乎使用者Journey Lin): 講Fa
thinkphp nginx 支援 thinkphp 隱藏index.php
location / { root /alidata/www/h5.true-view.com.cn/; index index.php index.html index.htm; try_files $uri $
windows+nginx+php執行環境部署
第一部分:準備工作。(系統:Windows 8.1) 1.首先是下載軟體。 2.安裝mysql軟體。 3.解壓NGINX和PHP到你自己安裝位置。這裡我在C盤新建一個資料夾:wnmp(windows,ngnix,myspq,php),把下面的軟體安裝到這個資
Centos7 下面安裝docker 部署Nginx
docker nginx實驗 環境 Centos 7 操作系統安裝docker yum install docker -y查看docker 是否安裝成功docker -vDocker version 1.12.6, build 3a094bd/1.12.6啟動docker systemctl start do