開發環境搭建(lnmp)

2022-05-13 03:06:38 字數 4094 閱讀 6472

我們的開發環境一般現在時用linux + nginx + mysql(mariadb) + php的組合進行專案的搭建與開發,工欲善其事必先利其器。

搭建環境:

centos7 + mysql5.6 + php7

廢話少說,直接上乾貨

1. 安裝mysql5.*

與centos6不同,centos7必須使用社群倉庫來按章mysql

如果使用

yum install mysql
缺省會安裝mariadb資料庫

所以,安裝:

wget 

rpm -ivh mysql-community-release-el7-5.noarch.rpm

yum update

yum install mysql-server

安裝過程中。使用y確定安裝

完成之後,mysql會預設安裝在/var/lib/mysql目錄下

啟動mysql並設定開機啟動

systemctl start mysqld      #啟動 mysql

systemctl enable mysqld #開機啟動mysql

使用下面的mysql_secure_installation進行密碼修改

注意: mysql5.7.6+版本修改方式會不同

2. 安裝nginx

如果系統中存在apache,可以先進行解除安裝

nginx安裝

yum install peel-release

yum -y install nginx

啟動nginx服務並設定為開機啟動

systemctl start nginx

systemctl enable nginx

nginx預設的html根目錄是: /usr/share/nginx/html

為了讓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 --permanent

//設定完成之後,一定要記得重啟防火牆

systemctl-cmd --reload

3. php-fpm 安裝

php通過 php-fpm(fastcgi程序管理器)可以很好的與nginx協同工作

php5的安裝:

yum install php php-mysql php-fpm
php7的安裝:

rpm -ivh  # 安裝epel源

rpm -uvh #安裝webstatic源

yum install php72w php72w-common php72w-fpm php72w-opcache php72w-mysqlnd php72w-gd php72w-mbstring # php 5.3.0以上推薦使用mysqlnd驅動,而不是msyql

這裡使用webstatic源來安裝php7.2

進行配置:

1)開啟配置檔案 /etc/php.ini 刪除cgi.fix_pathinfo前面注釋符並賦值為0

[...]

cgi.fix_pathinfo=0

[...]

再配置php-fpm.開啟檔案/etc/php-fpm.d/www.conf

將127.0.0.1:9000 改為php-fpm.sock

取消listen.owner 和 listen.group 前面的注釋

將user和group值都由apache改成nginx

如下:

[...]

listen = /var/run/php-fpm/php-fpm.sock

[...]

listen.owner = nobody

listen.group = nobody

[...]

user = nginx

group = nginx

[...]

啟動php-fpm並設定開機啟動

systemctl start php-fpm

systemctl enable php-fpm

php-fpm啟動之後,會生成socket檔案 /var/run/php-fpm/php-fpm.sock 作為守護程序執行fastcgi服務

nginx配置:

nginx 的配置檔案是:/etc/nginx/nginx.conf 進行配置

首先,根據情況調整worker_processeskeepalive_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

值如下:

[...]

;listen = /var/run/php-fpm/php-fpm.sock

listen = 127.0.0.1:9000

[...]

這樣 php-fpm 會偵聽位址127.0.0.1(localhost)和埠9000,確保這個埠沒有被其他程式占用。

systemctl reload php-fpm

[...]

#fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

fastcgi_pass 127.0.0.1:9000;

[...]

然後,過載 nginx 就可以了:

systemctl reload nginx
1.

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此時,可訪問來確...