Centos7.2搭建Lamp

Centos7.2搭建Lamp

今天記錄下搭建Lamp的過程(有錯請指出,謝謝!!)

環境說明:php

  1. 使用的是阿里雲的ECS,系統爲Centos7.2
  2. 搭建Lamp線上環境(linux + apache2 + mysql + php5.6)
  3. 安裝git進行代碼的拉取

Apachede 搭建

1.查看httpd包是否可用

yum list | grep httpd

2.安裝httpd(apache)

yum install httpd

3.啓動

說句題外話:歷史上的linux廣泛都使用init進程(不感興趣能夠跳過)

也就是咱們常說的:html

$ sudo /etc/init.d/httpd start
# 或者
$ service httpd start

據我所知道:init(初始化檢查)linux第一個啓動的進程,全部的進程都是他的子孫;並且他是串行工做的,因此傳統的這種模式會有2個致命的缺點:mysql

1.是啓動時間長。init進程是串行啓動,只有前一個進程啓動完,纔會啓動下一個進程。linux

2.是啓動腳本複雜。init進程只是執行啓動腳本,無論其餘事情。腳本須要本身處理各類狀況,這每每使得腳本變得很長。nginx

因此後面出現了一種新的技術systemd來代替;好像centos7 系統就開始默認用這個了git

詳細之後咱們再聊sql

語歸正傳

咱們要作的是 下面的啓動並設爲開機啓動便可apache

3.1 啓動apache2

systemctl start httpd

3.2 查看apache2狀態

systemctl status httpd

3.3 中止apache2

systemctl stop httpd

3.4 重啓apache2

systemctl restart httpd

3.5 設爲開機啓動

systemctl enable httpd.service

Mysql搭建

1.安裝Mysql的源(官網的)

yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

2.安裝Mysql(官網的)

yum install mysql-community-server

3.啓動Mysql

systemctl start mysqld

4.查看默認密碼

grep 'temporary password' /var/log/mysqld.log
2017-12-12T09:19:51.358192Z 1 [Note] A temporary password is generated for root@localhost: ;+2e9;VUlwi4

冒號後面的就是初始化密碼vim

5.重置密碼(不具體說明,不懂Google)

使用密碼登陸mysqlcentos

mysal -h localhost -u root -p
;+2e9;VUlwi4

重置密碼

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
# 若是是當前登錄用戶用
SET PASSWORD = PASSWORD('newpassword')

建立一個用戶

CREATE USER 'username'@'host' IDENTIFIED BY 'password'

用戶只讀權限

GRANT SELECT ON *.* TO 'pig'@'%';

PHP的安裝

我這使用的是php5.6,不一樣版本的php安裝也是大同小異

1.下載源碼包

官網地址: http://php.net/downloads.php

選擇合適的php版本進行下在:

你能夠選線下在,而後ftp上傳到對應的服務器;也能夠在服務器上使用wget下載;

顯然不必畫蛇添足,我選擇的是後者(wget),前者適用於在官網或源網站找不到對應的源碼包;

wget http://php.net/get/php-5.6.32.tar.gz/from/this/mirror

2.解壓

源碼包下載完成!

注意:由於我這是用wget在官網上下載;下載包明爲:mirror;我先重命名爲php.tar.gz;方便解壓

cp mirror php.tar.gz
tar -zxvf php.tar.gz

解壓完成

cd php-5.6.32

3.安裝一些必要的依賴

yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel

4.安裝gcc

yum install gcc

5.安裝其餘配件

yum -y install libxslt-devel* 
yum -y install perl* 
yum -y install httpd-devel
find / -name apxs 獲得的路徑是:/usr/bin/apxs
因而獲得--with-apsx2的路徑是/usr/bin/apxs

6.配置(php擴展安裝哪些)

./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath -enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip --enable-pcntl --with-curl --with-fpm-user=nginx --enable-ftp --enable-session --enable-xml --with-apxs2=/usr/bin/apxs

7.編譯安裝

make
make install

8.添加環境變量

vim /etc/profile

在末尾處加上:

PATH=$PATH:/usr/local/php/bin
export PATH

從新加載文件,使修改馬上生效

source /etc/profile

9.查看版本信息

php -v

若是能看的php的版本信息 就是完成了!

10.生成必要文件

cp php.ini-production /usr/local/php/etc/php.ini
cp sapi/fpm/php-fpm /usr/local/php/etc/php-fpm
cp /usr/local/phpetc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

下面那個是 php7纔有,具體做用自行google吧

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

到此 軟件已經安裝完畢!


配置

下面的配置照抄就好,不在本次探討其含義和做用

找到:

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

後面追加

php5.6版本

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

搜索有沒有下面這一行(省略號表明的是libphp5.so模塊的絕對路徑)

LoadModule php5_module ...

若是沒有加上(個人有)

LoadModule php5_module        /usr/lib64/httpd/modules/libphp5.so

配置默認打開頁面

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

到此其實已經 完成了lamp的搭建了

固然我有些強迫症,我喜歡將每一個虛擬主機配置文件獨立成一個對應的文件,放在一個統一的文件夾裏面(沒有這樣的需求的小夥伴,能夠忽略我下面的內容。。。)


獨立虛擬主機配置

編輯httpd.conf文件

vim /etc/httpd/conf/httpd.conf

搜索(一般是末尾)

IncludeOptional conf.d/*.conf

在後面加上

IncludeOptional vhost/*

而後在 /etc/httpd下建立 vhost目錄,配置文件丟裏面

<VirtualHost *:80>
DocumentRoot /home/www/XXX
ServerName XXX.XXX.com
  <Directory "/home/www/XXX">
    Options -Indexes +FollowSymLinks +ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
    Require all granted
  </Directory>
</VirtualHost>
相關文章
相關標籤/搜索