1
2
3
4
5
6
7
8
<code>YUM 安裝</code>
<code>rpm -Uvh https:</code><code>//dl</code><code>.fedoraproject.org</code><code>/pub/epel/epel-release-latest-7</code><code>.noarch.rpm</code>
<code>rpm -Uvh https:</code><code>//mirror</code><code>.webtatic.com</code><code>/yum/el7/webtatic-release</code><code>.rpm</code>
<code>yum </code><code>install</code> <code>php71w php71w-mysql php71w-odbc php71w-common php71w-embedded php71w-pgsql php71w-xml php71w-ldap php71w-fpm php71w-gd php71w-pdo php71w-devel php71w-mbstring php71w-mcrypt php71w-cli php71w-json php71w-imap php71w-bcmath mod_php71w php71w-pear</code>
<code>rpm -qa |</code><code>grep</code> <code>php</code>
<code>systemctl start php-fpm.service</code>
<code>netstat</code> <code>-lntup | </code><code>grep</code> <code>9000</code>
<code>whereis</code> <code>php-fpm</code>
編譯安裝
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<code>yum -y </code><code>install</code> <code>libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel openldap openldap-devel</code>
<code>cp</code> <code>-frp </code><code>/usr/lib64/libldap</code><code>* </code><code>/usr/lib/</code>
<code>ln</code> <code>-s </code><code>/usr/lib64/liblber</code><code>* </code><code>/usr/lib/</code>
<code>groupadd -g 58 nginx</code>
<code>useradd</code> <code>-u 58 -g 58 -M nginx -s </code><code>/sbin/nologin</code>
<code>cd</code> <code>/usr/local/src</code>
<code>wget http:</code><code>//cn2</code><code>.php.net</code><code>/distributions/php-7</code><code>.1.11.</code><code>tar</code><code>.gz</code>
<code>tar</code> <code>zxvf php-7.1.11.</code><code>tar</code><code>.gz</code>
<code>cd</code> <code>php-7.1.11</code>
<code>.</code><code>/configure</code> <code>\</code>
<code>--prefix=</code><code>/usr/local/php7</code> <code>\</code>
<code>--</code><code>exec</code><code>-prefix=</code><code>/usr/local/php7</code> <code>\</code>
<code>--bindir=</code><code>/usr/local/php7/bin</code> <code>\</code>
<code>--sbindir=</code><code>/usr/local/php7/sbin</code> <code>\</code>
<code>--includedir=</code><code>/usr/local/php7/include</code> <code>\</code>
<code>--libdir=</code><code>/usr/local/php7/lib/php</code> <code>\</code>
<code>--mandir=</code><code>/usr/local/php7/php/man</code> <code>\</code>
<code>--with-config-</code><code>file</code><code>-path=</code><code>/usr/local/php7/etc</code> <code>\</code>
<code>--with-mysql-sock=</code><code>/var/run/mysql/mysql</code><code>.sock \</code>
<code>--with-mcrypt=</code><code>/usr/include</code> <code>\</code>
<code>--with-mhash \</code>
<code>--with-openssl \</code>
<code>--with-mysqli=shared,mysqlnd \</code>
<code>--with-pdo-mysql=shared,mysqlnd \</code>
<code>--with-gd \</code>
<code>--with-iconv \</code>
<code>--with-zlib \</code>
<code>--</code><code>enable</code><code>-zip \</code>
<code>--with-ldap=shared \</code>
<code>--with-ldap-sasl \</code>
<code>--</code><code>enable</code><code>-inline-optimization \</code>
<code>--disable-debug \</code>
<code>--disable-rpath \</code>
<code>--</code><code>enable</code><code>-shared \</code>
<code>--</code><code>enable</code><code>-xml \</code>
<code>--</code><code>enable</code><code>-bcmath \</code>
<code>--</code><code>enable</code><code>-shmop \</code>
<code>--</code><code>enable</code><code>-sysvsem \</code>
<code>--</code><code>enable</code><code>-mbregex \</code>
<code>--</code><code>enable</code><code>-mbstring \</code>
<code>--</code><code>enable</code><code>-</code><code>ftp</code> <code>\</code>
<code>--</code><code>enable</code><code>-gd-native-ttf \</code>
<code>--</code><code>enable</code><code>-pcntl \</code>
<code>--</code><code>enable</code><code>-sockets \</code>
<code>--with-xmlrpc \</code>
<code>--</code><code>enable</code><code>-soap \</code>
<code>--without-pear \</code>
<code>--with-gettext \</code>
<code>--</code><code>enable</code><code>-session \</code>
<code>--with-curl \</code>
<code>--with-jpeg-</code><code>dir</code> <code>\</code>
<code>--with-freetype-</code><code>dir</code> <code>\</code>
<code>--</code><code>enable</code><code>-opcache \</code>
<code>--</code><code>enable</code><code>-fpm \</code>
<code>--with-fpm-user=nginx \</code>
<code>--with-fpm-group=nginx \</code>
<code>--without-gdbm \</code>
<code>--disable-fileinfo</code>
<code>make</code> <code>&& </code><code>make</code> <code>install</code>
<code>make</code> <code>test</code> <code>##不是必須</code>
<code>ll </code><code>/usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/</code>
<code>直接使用編譯後未經優化處理的配置</code>
<code>cp</code> <code>php.ini-production </code><code>/usr/local/php7/etc/php</code><code>.ini</code>
<code>cp</code> <code>sapi</code><code>/fpm/init</code><code>.d.php-fpm </code><code>/etc/init</code><code>.d</code><code>/php-fpm</code>
<code>cp</code> <code>/usr/local/php7/etc/php-fpm</code><code>.conf.default </code><code>/usr/local/php7/etc/php-fpm</code><code>.conf</code>
<code>cp</code> <code>/usr/local/php7/etc/php-fpm</code><code>.d</code><code>/www</code><code>.conf.default </code><code>/usr/local/php7/etc/php-fpm</code><code>.d</code><code>/www</code><code>.conf</code>
<code>修改配置檔案</code>
<code>vim </code><code>/usr/local/php7/etc/php</code><code>.ini</code>
<code>######避免PHP資訊暴露在http頭中</code>
<code>expose_php = Off</code>
<code>######避免暴露php調用mysql的錯誤資訊</code>
<code>display_errors = Off</code>
<code>######在關閉display_errors後開啟PHP錯誤日志(路徑在php-fpm.conf中配置)</code>
<code>log_errors = On</code>
<code>######設定PHP的擴充庫路徑 </code>
<code>extension_dir = </code><code>"/usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/"</code>
<code>######設定PHP的opcache和mysql動态庫</code>
<code>zend_extension=opcache.so</code>
<code>extension=mysqli.so</code>
<code>extension=pdo_mysql.so</code>
<code>extension=ldap.so</code>
<code>######設定PHP的時區</code>
<code>date</code><code>.timezone = PRC</code>
<code>######開啟opcache</code>
<code>[opcache]</code>
<code>opcache.</code><code>enable</code><code>=1</code>
<code>######設定PHP腳本允許通路的目錄(需要根據實際情況配置)</code>
<code>open_basedir = </code><code>/etc/nginx/html</code><code>;</code>
<code>vim </code><code>/usr/local/php7/etc/php-fpm</code><code>.conf</code>
<code>######設定錯誤日志的路徑</code>
<code>error_log = </code><code>/var/log/php-fpm/error</code><code>.log</code>
<code>######引入www.conf檔案中的配置</code>
<code>include=</code><code>/usr/local/php7/etc/php-fpm</code><code>.d/*.conf</code>
<code>[root@zabbix ~]</code><code># cat /usr/local/php/etc/php-fpm.conf</code>
<code>[global]</code>
<code>pid = </code><code>/usr/local/php/var/run/php-fpm</code><code>.pid</code>
<code>error_log = </code><code>/usr/local/php/var/log/php-fpm</code><code>.log</code>
<code>log_level = notice</code>
<code>[www]</code>
<code>listen = </code><code>/tmp/php-cgi</code><code>.sock</code>
<code>listen.backlog = -1</code>
<code>listen.allowed_clients = 127.0.0.1</code>
<code>listen.owner = www</code>
<code>listen.group = www</code>
<code>listen.mode = 0666</code>
<code>user = www</code>
<code>group = www</code>
<code>pm = dynamic</code>
<code>pm.max_children = 80</code>
<code>pm.start_servers = 40</code>
<code>pm.min_spare_servers = 40</code>
<code>pm.max_spare_servers = 80</code>
<code>request_terminate_timeout = 100</code>
<code>request_slowlog_timeout = 0</code>
<code>slowlog = var</code><code>/log/slow</code><code>.log</code>
<code>vim </code><code>/usr/local/php7/etc/php-fpm</code><code>.d</code><code>/www</code><code>.conf</code>
<code>######設定使用者和使用者組</code>
<code>user = nginx</code>
<code>group = nginx</code>
<code>######根據nginx.conf中的配置fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;設定PHP監聽</code>
<code>; listen = 127.0.0.1:9000 </code><code>#####不建議使用(看自己設定情況)</code>
<code>listen = </code><code>/var/run/php-fpm/php-fpm</code><code>.sock</code>
<code>######開啟慢日志</code>
<code>slowlog = </code><code>/var/log/php-fpm/</code><code>$pool-slow.log</code>
<code>request_slowlog_timeout = 10s</code>
<code>######設定php的session目錄(所屬使用者和使用者組都是nginx)</code>
<code>php_value[session.save_handler] = files</code>
<code>php_value[session.save_path] = </code><code>/var/lib/php/session</code>
<code>echo</code> <code>-e </code><code>'\nexport PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH\n'</code> <code>>> </code><code>/etc/profile</code> <code>&& </code><code>source</code> <code>/etc/profile</code>
<code>mkdir</code> <code>-p </code><code>/var/log/php-fpm/</code> <code>&& </code><code>mkdir</code> <code>-p </code><code>/var/run/php-fpm</code> <code>&& </code><code>cd</code> <code>/var/run/</code> <code>&& </code><code>chown</code> <code>-R nginx:nginx php-fpm</code>
<code>mkdir</code> <code>-p </code><code>/var/lib/php/session</code>
<code>chown</code> <code>-R nginx:nginx </code><code>/var/lib/php</code>
<code>chmod</code> <code>+x </code><code>/etc/init</code><code>.d</code><code>/php-fpm</code>
<code>chkconfig --add php-fpm</code>
<code>chkconfig php-fpm on</code>
<code>php-fpm -t</code>
<code>service php-fpm start</code>
<code>ps</code> <code>-aux | </code><code>grep</code> <code>php </code><code>##php-fpm程序數和程序使用者nginx都是由www.conf中pm.start_servers和user的值分别決定的</code>
<code>root 26007 0.0 0.0 182016 6324 ? Ss 13:36 0:00 php-fpm: master process (</code><code>/usr/local/php7/etc/php-fpm</code><code>.conf)</code>
<code>nginx 26008 0.0 0.0 182016 5884 ? S 13:36 0:00 php-fpm: pool www</code>
<code>nginx 26009 0.0 0.0 182016 5884 ? S 13:36 0:00 php-fpm: pool www</code>
本文轉自 295631788 51CTO部落格,原文連結:http://blog.51cto.com/hequan/1982046,如需轉載請自行聯系原作者