我們的開發環境一般現在時用linux + nginx + mysql(mariadb) + php的組合進行專案的搭建與開發,工欲善其事必先利其器。
搭建環境:
centos7 + mysql5.6 + php7
廢話少說,直接上乾貨
1. 安裝mysql5.*
與centos6不同,centos7必須使用社群倉庫來按章mysql
如果使用
yum install mysql缺省會安裝mariadb資料庫
所以,安裝:
wget安裝過程中。使用y確定安裝rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server
完成之後,mysql會預設安裝在/var/lib/mysql目錄下
啟動mysql並設定開機啟動
systemctl start mysqld #啟動 mysql使用下面的mysql_secure_installation進行密碼修改systemctl enable mysqld #開機啟動mysql
注意: mysql5.7.6+版本修改方式會不同
2. 安裝nginx
如果系統中存在apache,可以先進行解除安裝
nginx安裝
yum install peel-release啟動nginx服務並設定為開機啟動yum -y install nginx
systemctl start nginxnginx預設的html根目錄是: /usr/share/nginx/htmlsystemctl enable nginx
為了讓web應用能讀寫,設定擁有者為nginx使用者:
chown -r nginx:nginx html/注意點:
有時候會出現nginx正常啟動,但是頁面無法正常訪問的問題,這個有可能是防火牆的問題
使用telnet測試埠
正常連線
檢視埠是否開啟
firewall-cmd --zone=public --query-port=80/tcp如果沒有開啟,將其開啟
firewall-cmd --zone=public --add-port=80/tcp --permanent3. php-fpm 安裝//設定完成之後,一定要記得重啟防火牆
systemctl-cmd --reload
php通過 php-fpm(fastcgi程序管理器)可以很好的與nginx協同工作
php5的安裝:
yum install php php-mysql php-fpmphp7的安裝:
rpm -ivh # 安裝epel源這裡使用webstatic源來安裝php7.2rpm -uvh #安裝webstatic源
yum install php72w php72w-common php72w-fpm php72w-opcache php72w-mysqlnd php72w-gd php72w-mbstring # php 5.3.0以上推薦使用mysqlnd驅動,而不是msyql
進行配置:
1)開啟配置檔案 /etc/php.ini 刪除cgi.fix_pathinfo前面注釋符並賦值為0
[...]再配置php-fpm.開啟檔案/etc/php-fpm.d/www.confcgi.fix_pathinfo=0
[...]
將127.0.0.1:9000 改為php-fpm.sock
取消listen.owner 和 listen.group 前面的注釋
將user和group值都由apache改成nginx
如下:
[...]啟動php-fpm並設定開機啟動listen = /var/run/php-fpm/php-fpm.sock
[...]
listen.owner = nobody
listen.group = nobody
[...]
user = nginx
group = nginx
[...]
systemctl start php-fpmphp-fpm啟動之後,會生成socket檔案 /var/run/php-fpm/php-fpm.sock 作為守護程序執行fastcgi服務systemctl enable php-fpm
nginx配置:
nginx 的配置檔案是:/etc/nginx/nginx.conf 進行配置
首先,根據情況調整worker_processes
和keepalive_timeout
(可選)
[...]虛擬主機定義在worker_processes 4;
[...]
keepalive_timeout 2;
[...]
server{}
容器中,修改為如下內容:
[...]關於配置的一些說明:server
# php指令碼**至php-fpm解析
location ~ \.php$
}[...]
nginx -t # 檢查配置檔案語法使用tcp進行連線:
預設情況下,php-fpm 通過 /var/run/php-fpm/php-fpm.sock 檔案偵聽 socket。
當然,也可以設定 php-fpm 使用 tcp 連線。
開啟檔案 /etc/php-fpm.d/www.conf,設定listen
值如下:
[...]這樣 php-fpm 會偵聽位址;listen = /var/run/php-fpm/php-fpm.sock
listen = 127.0.0.1:9000
[...]
127.0.0.1
(localhost)和埠9000
,確保這個埠沒有被其他程式占用。
systemctl reload php-fpm
[...]然後,過載 nginx 就可以了:#fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_pass 127.0.0.1:9000;
[...]
systemctl reload nginx1.
2.3.
4.centos7 安裝 php7最新版
5.centos 7 安裝 nginx、php7、php-fpm
6.how to install linux, nginx, mysql, php (lemp) stack on centos 7
7.installing nginx with php5 (and php-fpm) and mysql support (lemp) on ubuntu 14.04 lts
8.how to install mysql on centos 7
9.how to install and configure nginx on centos 7
搭建lnmp開發環境
1.在centos安裝php5.6 簡單介紹一下,如何在centos上安裝php5.6。配置yum源 追加centos 6.5的epel及remi源。rpm uvh rpm uvh 以下是centos 7.0的源。yum install epel release rpm ivh 使用yum list...
使用Docker搭建LNMP開發環境
1 什麼是docker docker 使用 google 公司推出的 go 語言 進行開發實現,基於 linux 核心的 cgroup,namespace,以及 aufs 類的 union fs 等技術,對程序進行封裝隔離,屬於作業系統層面的虛擬化技術。通俗來說,docker的思想來自於貨櫃,貨櫃解...
搭建LNMP環境
yum install nginx yserver error page 404 404.html location 40x.html error page 500 502 503 504 50x.html location 50x.html 修改完成後,啟動 nginx nginx此時,可訪問來確...