真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么搭建PHP環(huán)境-創(chuàng)新互聯(lián)

這篇文章主要介紹怎么搭建PHP環(huán)境,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),仁和企業(yè)網(wǎng)站建設(shè),仁和品牌網(wǎng)站建設(shè),網(wǎng)站定制,仁和網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,仁和網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

如何在CentOS上搭建LNMP開發(fā)環(huán)境


一:準(zhǔn)備工作

1.安裝wget

wget 是一個(gè)從網(wǎng)絡(luò)上自動(dòng)下載文件的自由工具,支持通過 HTTP、HTTPS、FTP 三個(gè)最常見的TCP/IP協(xié)議下載,并可以可以使用HTTP代理。

sudo yum install wget

2.安裝net-tools

最小化安裝CentOS7時(shí)如果無法使用ifconfig命令,則需要安裝net-tools,如果是安裝的CentOS6版本則無需安裝

sudo yum install net-tools

3.更新yum源

yum -y update

4.安裝vim

sudo yum install vim

5.配置顯示行號(hào)

vim ~/.vimrc
set nu #輸入 set nu 后退出保存

二:安裝Nginx

1.安裝依賴

(1) 安裝nginx 需要先將官網(wǎng)下載的源碼進(jìn)行編譯,編譯依賴 gcc 環(huán)境,如果沒有 gcc 環(huán)境,則需要安裝gcc-c++。

(2)PCRE是一個(gè)Perl庫(kù),中文"Perl兼容的正則表達(dá)式庫(kù)"。安裝Nginx是為了使Nginx支持具備URI重寫功能的rewrite模塊,如果不安裝pcre庫(kù),則Nginx無法使用rewrite模塊功能,Nginx的Rewrite模塊功能幾乎是企業(yè)應(yīng)用必須。

(3)zlib 庫(kù)提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對(duì) http 包的內(nèi)容進(jìn)行 gzip ,所以需要在 Centos 上安裝 zlib 庫(kù)。

(4)OpenSSL是一個(gè)強(qiáng)大的安全套接字層密碼庫(kù),囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及 SSL 協(xié)議,并提供豐富的應(yīng)用程序供測(cè)試或其它目的使用。 nginx 不僅支持 http 協(xié)議,還支持 https(即在ssl協(xié)議上傳輸http),所以需要安裝 OpenSSL 庫(kù) 。

yum -y install gcc gcc-c++ zlib zlib-devel
yum -y install pcre pcre-devel openssl openssl-devel

說明: yum安裝方式安裝的pcre版本比較低,不過基本不影響使用

檢查基礎(chǔ)依賴包

上面的依賴安裝完成后可以通過如下命令檢查各個(gè)依賴安裝是否成功

rpm -qa pcre pcre-devel
rpm -qa zlib zlib-devel
rpm -qa openssl openssl-devel
rpm -qa pcre pcre-devel

2.編譯安裝Nginx

# 這里我們把安裝包都放到了/usr/src目錄下,便于統(tǒng)一管理
cd /usr/src #切換到軟件包目錄
wget https://nginx.org/download/nginx-1.14.1.tar.gz #下載nginx源碼包
useradd nginx -s /sbin/nologin -M #創(chuàng)建nginx用戶用于管理nginx程序
tar zxvf nginx-1.14.1.tar.gz #解壓nginx源碼包

cd nginx-1.14.1

#預(yù)編譯
./configure \
--user=nginx \
--group=nginx \
--prefix=/usr/local/nginx-1.14.1 \
--with-http_v2_module \
--with-http_ssl_module \
--with-http_stub_status_module

make && make install #編譯 和 安裝

cd /usr/local
ln -s nginx-1.14.1 nginx #創(chuàng)建nginx的軟鏈接


安裝說明

--prefix=PATH #設(shè)置安裝路勁
--user=USER #進(jìn)程用戶權(quán)限
--group=GROUP #進(jìn)程用戶組權(quán)限
--with-http_stub_status_module #激活狀態(tài)信息
--with-http_ssl_module #激活ssl功能

3.配置環(huán)境變量

vim /etc/profile
export PATH=/usr/local/nginx/sbin:$PATH
source /etc/profile

4.配置開機(jī)自啟

vim /etc/rc.local
# Nginx開機(jī)自啟
/usr/local/nginx/sbin/nginx &

5.Nginx常用命令

/usr/local/nginx/sbin/nginx -t # 檢查Nginx配置語(yǔ)法是否有誤
/usr/local/nginx/sbin/nginx #啟動(dòng)
/usr/local/nginx/sbin/nginx -s stop #立即停止
/usr/local/nginx/sbin/nginx -s quit #平滑停止
/usr/local/nginx/sbin/nginx -s reload #重載配置
/usr/local/nginx/sbin/nginx -s reopen #重開日志

服務(wù)啟動(dòng)檢查

可以通過該命令查詢80端口被誰(shuí)占用

lsof -i :80

如果無法識(shí)別該命令,需要安裝lsof

sudo yum install lsof

6.關(guān)閉防火墻

CentOS6:
service iptables stop 臨時(shí)關(guān)閉
chkconfig --level 2345 iptables off 永久關(guān)閉

CentOS7:
systemctl stop firewalld.service #令關(guān)閉防火墻
systemctl disable firewalld.service #關(guān)閉防火墻開機(jī)自啟動(dòng)
通過瀏覽器輸入IP測(cè)試是否成功


三:安裝MySQL

1.安裝依賴

(1)cmake是新版MySQL的編譯工具,必須安裝

sudo yum install gcc gcc-c++ cmake ncurses-devel

如果你的系統(tǒng)是CentOS7,你還需要安裝如下依賴

sudo yum install perl perl-devel autoconf

2.編譯安裝MySQL

useradd -s /sbin/nologin -M mysql # 添加MySQL用戶
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.42.tar.gz

tar zxvf mysql-5.6.42.tar.gz

cd mysql-5.6.42

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.42 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql-5.6.42/tmp/mysql.sock \
-DMYSQL_DATADIR=/usr/local/mysql-5.6.42/data \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_INNODB_MEMCACHED=1 \
-DWITH_DEBUG=OFF \
-DWITH_ZLIB=bundled \
-DENABLED_LOCAL_INFILE=1 \
-DENABLED_PROFILING=ON \
-DMYSQL_MAINTAINER_MODE=OFF \
-DMYSQL_TCP_PORT=3306

make && make install


3.MySQL配置

cd /usr/local/mysql-5.6.42
chown mysql.mysql /usr/local/mysql-5.6.42/data
mkdir tmp
chown mysql.mysql /usr/local/mysql-5.6.42/tmp
rm -f /etc/my.cnf
cp support-files/my-default.cnf /etc/my.cnf
scripts/mysql_install_db --defaults-file=/etc/my.cnf --user=mysql

4.加入守護(hù)進(jìn)程

cd /usr/local
ln -s mysql-5.6.42 mysql
cd /usr/local/mysql
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld

5.配置環(huán)境變量

vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile

6.啟動(dòng)MySQL

service mysqld start
mysql -u root -p #第一次登陸不需要密碼,回車即可
set password for root@localhost = password('root'); #修改密碼

四:安裝PHP

1.安裝依賴

sudo yum install gcc gcc-c++ zip unzip libxml2 libxml2-devel curl-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel gd-devel bzip2 bzip2-devel

2.編譯安裝PHP

cd /usr/src
wget /tupian/20230522/manual-lookup.php zxvf php-7.2.12.tar.gz
cd php-7.2.12
./configure \
--prefix=/usr/local/php-7.2.12 \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--with-zlib \
--enable-mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-mysql-sock=/usr/local/mysql/tmp/mysql.sock \
--with-gd \
--with-png-dir \
--with-jpeg-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-openssl \
--with-curl \
--enable-bcmath \
--enable-mbstring \
--enable-static \
--enable-zip \
--enable-sockets \
--enable-xml

make && make install


3.PHP配置

cd /usr/local

ln -s php-7.2.12 php
cp /usr/src/php-7.2.12/php.ini-development /usr/local/php-7.2.12/lib/php.ini

vim /usr/local/php/lib/php.ini
date.timezone = PRC # 修改時(shí)區(qū)(大約在932行)

expose_php = Off # 避免PHP信息暴露在http頭中(大約369行)

display_errors = Off# 生產(chǎn)環(huán)境設(shè)置為off,開發(fā)環(huán)境就設(shè)置為On,便于調(diào)試
說明:設(shè)置了dispaly_errors為off后,需要在php-fpm.conf中開啟錯(cuò)誤日志記錄路徑error_log = log/php-fpm.log

cd php
cp etc/php-fpm.conf.default etc/php-fpm.conf

cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf

# 管理PHP-FPM
vim /usr/local/php/etc/php-fpm.conf
pid = run/php-fpm.pid
error_log = log/php-fpm.log #24行這個(gè)在php.ini設(shè)置display_errors = Off時(shí)啟用

向進(jìn)程發(fā)送信號(hào),就可以完成進(jìn)程管理
停止: kill -INT `cat /usr/local/php/var/run/php-fpm.pid`
平滑停止: kill -QUIT `cat /usr/local/php/var/run/php-fpm.pid`
重啟:kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
重新打開日志:kill -USR1 `cat /usr/local/php/var/run/php-fpm.pid`

如果在編譯PHP時(shí)指定了--with-mysql=mysqlnd和--with-pdo-mysql=mysqlnd的參數(shù),那么在生產(chǎn)中可能會(huì)遇到socket連接問題,解決辦法是在php.ini里加入命令: pdo_mysql.default_socket=/usr/local/mysql/tmp/mysql.sock

好是在編譯PHP的時(shí)候,指定mysql.socket的位置:
--with-mysql-sock=/usr/local/mysql/tmp/mysql.sock


4.配置環(huán)境變量

vim /etc/profile
export PATH=/usr/local/php/bin:$PATH
source /etc/profile

5.配置開機(jī)自啟

vim /etc/rc.local
# PHP-FPM自動(dòng)啟動(dòng)
/usr/local/php/sbin/php-fpm &

6.啟動(dòng)PHP-FPM

cd /usr/local/php
sbin/php-fpm # 啟動(dòng)PHP-FPM
ps -e | grep php-fpm

7.配置Nginx和PHP關(guān)聯(lián)

#user nobody;
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 {
use epoll;
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;

#隱藏Nginx軟件版本號(hào)
server_tokens off;

#激活tcp_nodelay功能,提高I/O性能
tcp_nodelay on;

# 設(shè)置讀取客戶端請(qǐng)求頭數(shù)據(jù)的超時(shí)時(shí)間。此處的數(shù)值為15,其單位是秒,為經(jīng)驗(yàn)參考值
client_header_timeout 15;

# 設(shè)置讀取客戶端請(qǐng)求體的超時(shí)時(shí)間
client_body_timeout 15;

# 指定響應(yīng)客戶端的超時(shí)時(shí)間
send_timeout 25;

# 上傳文件大小限制
client_max_body_size 8m;

#壓縮配置
gzip on;
gzip_min_length 1k;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/css text/xml text/plain application/javascript;
gzip_vary on;
#include extra/gzip.config;

#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;

server {
listen 80;
server_name www.nginx.com;
root html/blog/public;
#access_log logs/host.access.log main;

location / {
index index.php index.html index.htm;
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
}
}

#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;
}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}


五:CentOS7開機(jī)/etc/rc.local不執(zhí)行問題

CentOS7中,默認(rèn)開機(jī)不再執(zhí)行/etc/rc.local,查詢/etc/rc.local里的內(nèi)容可以發(fā)現(xiàn)如下描述:

#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In constrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

翻譯過來就是

#這個(gè)文件是為了兼容性的問題而添加的。
#
#強(qiáng)烈建議創(chuàng)建自己的systemd服務(wù)或udev規(guī)則來在開機(jī)時(shí)運(yùn)行腳本而不是使用這個(gè)文件。
#
#與以前的版本引導(dǎo)時(shí)的并行執(zhí)行相比較,這個(gè)腳本將不會(huì)在其他所有的服務(wù)后執(zhí)行。
#
#請(qǐng)記住,你必須執(zhí)行“chmod +x /etc/rc.d/rc.local”來確保確保這個(gè)腳本在引導(dǎo)時(shí)執(zhí)行。

所以要解決開機(jī)不執(zhí)行問題,只需要執(zhí)行下面的命令然后重啟服務(wù)器。

chmod +x /etc/rc.d/rc.local

完成上面這些步驟,一個(gè)LNMP環(huán)境就配好啦,重啟服務(wù)器即可。


以上是“怎么搭建PHP環(huán)境”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站名稱:怎么搭建PHP環(huán)境-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)地址:http://weahome.cn/article/cegppc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部