欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

CentOS7.2上NginxPHPMariadb環(huán)境搭建

建站服務器

最近有個ERP+PHP-web 測試頁面環(huán)境部署需求,需要部署nginx+php的cgi+socket的模式、mysql環(huán)境。查看服務端口是否起來,我們習慣使用netstat指令查看,所以如果你的系統(tǒng)里尚未安裝netstat,可直接安裝 yum install -y net-tools即可

漠河網站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網頁設計、網站建設、微信開發(fā)、APP開發(fā)、成都響應式網站建設公司等網站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)建站公司2013年成立到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創(chuàng)新互聯(lián)建站

實驗環(huán)境:

Linux版本:CentOS 7.2

nginx版本:nginx-1.10.1

PHP版本:php-5.6.5

Mysql版本:MariaDB-5.5.52

一、首先部署nginx

把相關依賴包安裝完畢

openssl-devel 、zlib-devel 、pcre-devel

程序默認是使用 nobody 身份運行的,我們使用 nginx 用戶來運行,首先添加Nginx組和用戶,不創(chuàng)建家目錄,不允許登陸系統(tǒng)

#groupaddnginx
#useradd-M-s/sbin/nologin-gnginxnginx

安裝nginx採取的是nginx-1.10.1.tar.gz

#tarxfnginx-1.10.1.tar.gz
#cdnginx-1.10.1

指定安裝目錄和運行時用的屬主和屬組,並啟用狀態(tài)監(jiān)控模塊等

#./configure\\
--prefix=/usr/local/nginx\\
--pid-path=/usr/local/nginx/logs/nginx.pid\\
--lock-path=/var/lock/nginx.lock\\
--user=nginx\\
--group=nginx\\
--with-http_ssl_module\\
--with-http_flv_module\\
--with-http_stub_status_module\\
--with-http_gzip_static_module\\
--http-client-body-temp-path=/var/tmp/nginx/client/\\
--http-proxy-temp-path=/var/tmp/nginx/proxy/\\
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/\\
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi\\
--http-scgi-temp-path=/var/tmp/nginx/scgi\\
--with-pcre

大致的配置結果

Configurationsummary
+usingsystemPCRElibrary
+usingsystemOpenSSLlibrary
+md5:usingOpenSSLlibrary
+sha1:usingOpenSSLlibrary
+usingsystemzliblibrary
nginxpathprefix:/usr/local/nginx
nginxbinaryfile:/usr/local/nginx/sbin/nginx
nginxmodulespath:/usr/local/nginx/modules
nginxconfigurationprefix:/usr/local/nginx/conf
nginxconfigurationfile:/usr/local/nginx/conf/nginx.conf
nginxpidfile:/var/run/nginx/nginx.pid
nginxerrorlogfile:/usr/local/nginx/logs/error.log
nginxhttpaccesslogfile:/usr/local/nginx/logs/access.log
nginxhttpclientrequestbodytemporaryfiles:/var/tmp/nginx/client/
nginxhttpproxytemporaryfiles:/var/tmp/nginx/proxy/
nginxhttpfastcgitemporaryfiles:/var/tmp/nginx/fcgi/
nginxhttpuwsgitemporaryfiles:/var/tmp/nginx/uwsgi
nginxhttpscgitemporaryfiles:/var/tmp/nginx/scgi

上述配置完,就進行編譯安裝

#make&&makeinstall
#mkdir/var/tmp/nginx/client/-pv

等編譯安裝完成后在 /usr/local 下就會出現 nginx 這個目錄了,進入這個目錄后發(fā)現目錄非常簡單。

它的配置文件存放在 conf 目錄中,網頁文件存放在 html 中,日志文件存放在 logs 中,

sbin 目錄下只有一個可執(zhí)行程序 nginx

二、部署php環(huán)境

a. FastCGI是一個可伸縮地、高速地在HTTP server和動態(tài)腳本語言間通信的接口

b. Nginx是個輕量級的HTTP server,必須借助第三方的FastCGI處理器才可以對PHP進行解析

c. PHP-FPM是一個第三方的FastCGI進程管理器,它是作為PHP的一個補丁來開發(fā)的,在安裝的時候也需要和PHP源碼一起編譯,

也就是說PHP-FPM被編譯到PHP內核中,因此在處理性能方面更加優(yōu)秀;同時它在處理高并發(fā)方面也比spawn-fcgi引擎好很多,

因此,推薦Nginx+PHP/PHP-FPM這個組合對PHP進行解析。

首先安裝php的一些依賴包

yuminstall-ygccgcc-c++libxml2libxml2-develautoconflibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-develzlibzlib-develglibcglibc-develglib2glib2-devel

然後解壓下載好的tar包

#tar-xvzfphp-5.6.5.tar.gz

進入到解壓後的php-5.6.5中

#cdphp-5.6.5
#./configure--prefix=/usr/local/php–enable-fpm–enable-mbstring–with-MYSQL=mysqlnd–with-mysqli=mysqlnd–with-pdo-mysql=mysqlnd
#make&&makeinstall

查看php版本

#php-v
PHP5.6.5(cli)(built:Jan10201703:53:13)
Copyright(c)1997-2014ThePHPGroup
ZendEnginev2.6.0,Copyright(c)1998-2014ZendTechnologies

如果不行,則直接在php的執(zhí)行文件做個軟鏈接到/usr/bin/php或者復制一份至/usr/bin/下面即可查看PHP版本啦

#ln-s/usr/local/php/bin/php/usr/bin/php

或者

#cp-raf/usr/local/php/bin/php/usr/bin/php

php的配置文件php.ini,復制一份安裝目錄下的php.ini-development這個配置文件模板到php的目錄

#cp-rafphp-5.6.5/php.ini-development/usr/local/php/lib/php.ini

當然,我們還需要配置一下php-fpm,在安裝php的時候,已經為我們生成了一個配置模板了,在 /usr/local/php/etc/php-fpm.conf.default了,所以只要復制這個模板并改名為php-fpm.conf就可以了,進去把 daemonize改成yes,以后臺服務的運行方式啟動。然后捏,whereis php-fpm,

這個是個可執(zhí)行文件,直接執(zhí)行php-fpm就可以運行了,然后netstat -an| grep php-fpm,看到,果然9000號端口在監(jiān)聽啦

#cp-raf/usr/local/php/etc/php-fpm.conf.default/usr/local/php/etc/php-fpm.conf
#whereisphp-fpm

配置與優(yōu)化PHP-FPM

PHP的全局配置文件是php.ini,在上面的步驟中,已經將此文件復制到了/usr/local/php/lib/php.ini下。可以根據每個應用需求的不同,對php.ini進行相應的配置。

下面重點介紹PHP-FPM引擎的配置文件。

根據上面指定的安裝路徑,PHP-FPM的默認配置文件為/usr/local/php/etc/php-fpm.conf。

php-fpm.conf是一個XML格式的純文本文件,其內容很容易看明白。這里重點介紹幾個重要的配置標簽:

標簽listen_address是配置fastcgi進程監(jiān)聽的IP地址以及端口,默認是127.0.0.1:9000,端口可更改

<valuename=listen_address>127.0.0.1:9000</value>

標簽display_errors用來設置是否顯示PHP錯誤信息,默認是0,不顯示錯誤信息,設置為1可以顯示PHP錯誤信息。

<valuename=display_errors>0</value>

標簽user和group用于設置運行FastCGI進程的用戶和用戶組。需要注意的是,這里指定的用戶和用戶組要和Nginx配置文件中指定的用戶和用戶組一致。

<valuename=user>nobody</value>
<valuename=group>nobody</value>

標簽max_children用于設置FastCGI的進程數。根據官方建議,小于2GB內存的服務器,可以只開啟64個進程,4GB以上內存的服務器可以開啟200個進程。

<valuename=max_children>5</value>

標簽request_terminate_timeout用于設置FastCGI執(zhí)行腳本的時間。默認是0s,也就是無限執(zhí)行下去,可以根據情況對其進行修改。

<valuename=request_terminate_timeout>0s</value>

標簽rlimit_files用于設置PHP-FPM對打開文件描述符的限制,默認值為1024。這個標簽的值必須和Linux內核打開文件數關聯(lián)起來,例如要將此值設置為65535,

就必須在Linux命令行執(zhí)行\(zhòng)'ulimit -HSn 65536\'。

<valuename=rlimit_files>1024</value>

標簽max_requests指明了每個children最多處理多少個請求后便會被關閉,默認的設置是500。

<valuename=max_requests>500</value>

標簽allowed_clients用于設置允許訪問FastCGI進程解析器的IP地址。如果不在這里指定IP地址,Nginx轉發(fā)過來的PHP解析請求將無法被接受。

<valuename=allowed_clients>127.0.0.1</value>

管理FastCGI進程,在配置完php-fpm后,就可以啟動FastCGI進程

/usr/local/php/sbin/php-fpm

FastCGI進程啟動后,其監(jiān)聽的IP地址和端口也隨即啟動,可以通過ps和netstat查看相關信息

由于Nginx本身不會對PHP進行解析,因此要實現Nginx對PHP的支持,其實是將對PHP頁面的請求交給fastCGI進程監(jiān)聽的IP地址及端口。

如果把php-fpm當做動態(tài)應用服務器,那么Nginx其實就是一個反向代理服務器。Nginx通過反向代理功能實現對PHP的解析,這就是Nginx實現PHP動態(tài)解析的原理

Nginx配置文件的路徑為/usr/local/nginx/conf/nginx.conf。下面是在Nginx下支持PHP解析的一個虛擬主機配置實例

#vi/usr/local/nginx/conf/nginx.conf

fastcgi_param指令指定放置PHP動態(tài)程序的主目錄,也就是$fastcgi_script_name前面指定的路徑,這里是/usr/local/nginx/html目錄

fastcgi_params文件是FastCGI進程的一個參數配置文件,在安裝Nginx后,會默認生成一個這樣的文件,這里通過include指令將FastCGI參數配置文件包含了進來

在配置完成Nginx+FastCGI之后,為了保證Nginx下PHP環(huán)境的高速穩(wěn)定運行,需要添加一些FastCGI優(yōu)化指令。下面給出一個優(yōu)化實例,

將下面代碼添加到Nginx主配置文件中的HTTP層級

location~\\.php${
roothtml;
fastcgi_pass127.0.0.1:9000;
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;
includefastcgi_params;
#fastcgi_cache_path/usr/local/nginx/fastcgi_cachelevels=1:2keys_zone=TEST:10minactive=5m;
fastcgi_connect_timeout300;
fastcgi_send_timeout300;
fastcgi_read_timeout300;
fastcgi_buffer_size64k;
fastcgi_buffers464k;
fastcgi_busy_buffers_size128k;
fastcgi_temp_file_write_size128k;
#fastcgi_cacheTEST;
fastcgi_cache_valid2003021h;
fastcgi_cache_valid3011d;
fastcgi_cache_validany1m;
}

下面是對上述代碼的含義進行介紹。

第一行代碼是為FastCGI緩存指定一個文件路徑、目錄結構等級、關鍵字區(qū)域存儲時間和非活動刪除時間。

fastcgi_connect_timeout指定連接到后端FastCGI的超時時間。

fastcgi_send_timeout指定向FastCGI傳送請求的超時時間,這個值是已經完成兩次握手后向FastCGI傳送請求的超時時間。

fastcgi_read_timeout指定接收FastCGI應答的超時時間,這個值是已經完成兩次握手后接收FastCGI應答的超時時間。

fastcgi_buffer_size用于指定讀取FastCGI應答第一部分需要用多大的緩沖區(qū),這個值表示將使用1個64KB的緩沖區(qū)讀取應答的第一部分(應答頭),可以設置為fastcgi_buffers選項指定的緩沖區(qū)大小。

fastcgi_buffers指定本地需要用多少和多大的緩沖區(qū)來緩沖FastCGI的應答請求。如果一個PHP腳本所產生的頁面大小為256KB,那么會為其分配4個64KB的緩沖區(qū)來緩存;如果頁面大小大于256KB,那么大于256KB的部分會緩存到fastcgi_temp指定的路徑中,但是這并不是好方法,因為內存中的數據處理速度要快于硬盤。一般這個值應該為站點中PHP腳本所產生的頁面大小的中間值,如果站點大部分腳本所產生的頁面大小為256KB,那么可以把這個值設置為“16 16k”、“4 64k”等。

fastcgi_busy_buffers_size的默認值是fastcgi_buffers的兩倍。

fastcgi_temp_file_write_size表示在寫入緩存文件時使用多大的數據塊,默認值是fastcgi_buffers的兩倍。

fastcgi_cache表示開啟FastCGI緩存并為其指定一個名稱。開啟緩存非常有用,可以有效降低CPU的負載,并且防止502錯誤的發(fā)生,但是開啟緩存也會引起很多問題,要視具體情況而定。

fastcgi_cache_valid、fastcgi用來指定應答代碼的緩存時間,實例中的值表示將200和302應答緩存一個小時,將301應答緩存1天,其他應答均緩存1分鐘。

測試Nginx對PHP的解析功能

這里在/usr/local/nginx/html目錄下創(chuàng)建一個phpinfo.php文件,內容如下:

<?phpphpinfo();?>

然后通過瀏覽器訪問http://ip/index.html,默認會在瀏覽器顯示“Welcome to Nginx!”表示Nginx正常運行。

接著在瀏覽器中訪問http://ip/phpinfo.php,如果PHP能夠正常解析,會出現PHP安裝配置以及功能列表統(tǒng)計信息。

三.yum 安裝Mariadb數據庫

刪除全部MySQL/MariaDB相關的rpm包

MySQL 已經不再包含在 CentOS 7 的源中,而改用了 MariaDB;

1、使用rpm -qa | grep mariadb搜索 MariaDB 現有的包:

如果存在,使用rpm -e --nodeps mariadb-*將全部刪除

2、使用rpm -qa | grep mysql搜索 mysql現有的包:

如果存在,使用yum remove mysql mysql-server mysql-libs compat-mysql全部刪除;

我比較推薦使用系統(tǒng)自帶的mariadb,所以直接yum安裝比較方便

3、yum安裝mariadb

#yuminstall-ymariadbmariadb-server

注:mariadb為數據庫客戶端,mariadb-server是數據庫服務器端

4、命令啟動MariaDB 服務

#systemctlstartmariadb

5、查看mariadb進程服務是否在跑

#ps-ef|grepmariadb
root1013110095019:24pts/200:00:00grep--color=automariadb
mysql10197100090Jan19?15:56:01/usr/sbin/mysqld--basedir=/usr--datadir=/var/lib/mysql--plugin-dir=/usr/lib64/mysql/plugin--user=mysql--log-error=/var/log/mariadb/mariadb.log--pid-file=/var/lib/mysql/zgz.pid--socket=/var/lib/mysql/mysql.sock

6、查看數據庫狀態(tài)

#systemctlstatusmariadb

7、接著運行 mysql_secure_installation初始化配置MariaDB:

#mysql_secure_installation

在這個階段進入時root初始密碼為空,所以回車即可。我個人覺得可以選擇在這個時候修改設定數據庫root密碼,然后接下來的設定中,除了Disallow root login remotely 、Remove test database and accesss to it 可以為n,其他都是y

8、登錄 MariaDB 并創(chuàng)建相應的數據庫用戶與數據庫

(1)使用mysql -uroot -p登錄,回車之后會提示輸入密碼。

(2)創(chuàng)建新用戶,其中$password填寫自己設置的密碼。當然后面也可以修改;

CREATEUSER\'git\'@\'localhost\'IDENTIFIEDBY\'$password\';

(3)設置存儲引擎

mariadb[none]>setstorage_engine=INNODB;

(4)創(chuàng)建數據庫

mariadb[none]>createdatabasedatabase_namecharactersetutf8;

(5)設置用戶權限

grantallprivilegeson*.*to\'root\'@\'%\'identifiedby\'$password\'withoption;

#上述可以定義為:root用戶可以從任何機器上遠程連接數據庫里的所有內容且具備高權限,并且具有授予權他人遠程連接的權限。

經過上述操作步驟,lnmp環(huán)境就算是基本搭建完畢。后面只需要把應用代碼放進Nginx的html內,并將應用與數據庫連接的配置文件設定完畢即可。

本文名稱:CentOS7.2上NginxPHPMariadb環(huán)境搭建
本文地址:http://aaarwkj.com/article10/chcsgo.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供關鍵詞優(yōu)化營銷型網站建設、企業(yè)建站軟件開發(fā)、品牌網站設計、網站內鏈

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網站優(yōu)化
国产欧美日韩国产精品| 欧美精品久久在线观看| 欧美丰满老妇性猛交| 麻豆成人三级电影在线| 免费在线黄色生活大片| 亚洲精品中文一区二区三区| 日韩精品电影一二三| 中文字幕精品免费日韩在线| 亚洲天堂欧美日韩一区| 厕所偷拍视频一区二区三区| 中国一级黄片免费欧美| 亚洲精品久久麻豆蜜桃| 青青草最新网址在线观看视频| 少妇肥臀一区二区三区| 欧美日韩国产综合在线观看| 国产极品嫩模在线观看91| 亚洲av日韩精品一区二区| 日本精品国产一区二区在线| 日韩一级精品电影网| 日韩成人在线高清视频| 高清av网站大全网站| 熟女熟妇乱女乱妇综合网| 日韩精品在线观看天堂| 高清中文一区二区三区| 成人爱爱视频免费观看| 色婷婷激情一区二区三区 | 国产精品视频黄色一区| 国产精品国产三级国产专用| 午夜福利院在线观看免费| 欧洲亚洲精品免费二区| 欧美日韩国产综合下一页| 最新人妻少妇精品中文字幕视频| 日本韩国亚洲欧美一区二区| 中文字幕一区二区三天| 免费精品一区二区三区欧美| 亚洲成色在线综合剧情网站 | 国产精品中文字幕第一页| av高清不卡一区二区免费在线| 中文字幕精品一区二区介绍| 国产乱码精品免费一区二区av| 麻豆精品情欲人妻一区|