1. 程式人生 > >lamp伺服器搭建

lamp伺服器搭建

需求說明

搭建一個lamp伺服器

環境說明

系統平臺 ip 需要安裝的服務
centos7,redhat7 172.16.11.11 httpd-2.4 mysql-5.7 php php-mysql

lamp平臺軟體安裝順序

httpd --> mysql --> php

①.關閉防火牆

[[email protected] ~]# systemctl stop firewalld.service 

②.關閉selinux

[[email protected] ~]# setenforce 0
[[email protected] ~]# sed -ri 's/^(SELINUX=).*/\1disabled/g' /etc/selinux/config 

③.準備好需要的原始碼包和二進位制包,可以自行下載

[[email protected] ~]# ls
anaconda-ks.cfg         httpd-2.4.34.tar.bz2
apr-1.6.3.tar.bz2       mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz
apr-util-1.6.1.tar.bz2  php-7.2.8.tar.xz


apr-1.6.3
apr-util-1.6.1
httpd-2.4-3
mysql-5.7-22
php-7.2.8

④.配置一個網路源

[[email protected] ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[[email protected] yum.repos.d]# sed -i 's/$releasever/7/g' CentOS-Base.repo 

操作步驟

①.安裝httpd

//安裝開發工具包 ‘Development Tools’
[
[email protected]
~]# yum -y groupinstall 'Development Tools' //安裝依賴包 [[email protected] ~]# yum -y install openssl-devel pcre-devel expat-devel libtool //建立apache的使用者和組 [[email protected] ~]# groupadd -r apache [[email protected] ~]# useradd -r -M -s /sbin/nologin -g apache apache [[email protected] ~]# id apache uid=997(apache) gid=995(apache) groups=995(apache) //解壓並編譯安裝apr [[email protected] ~]# tar -xf apr-1.6.3.tar.bz2 [[email protected] ~]# cd apr-1.6.3/ [[email protected] apr-1.6.3]# vim config # $RM "$cfgfile" [[email protected] apr-1.6.3]# ./configure --prefix=/usr/local/apr [[email protected] apr-1.6.3]# make && make install //解壓並編譯安裝apr-util [[email protected] ~]# tar -xf apr-util-1.6.1.tar.bz2 [[email protected] ~]# cd apr-util-1.6.1/ [[email protected] apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr [[email protected] apr-util-1.6.1]# make && make install //解壓並編譯安裝httpd [[email protected] ~]# tar -xf httpd-2.4.34.tar.bz2 [[email protected] ~]# cd httpd-2.4.34/ [[email protected] httpd-2.4.34]# ./configure --prefix=/usr/local/apache \ > --sysconfdir=/etc/httpd123 \ > --enable-so \ > --enable-ssl \ > --enable-cgi \ > --enable-rewrite \ > --with-zlib \ > --with-pcre \ > --with-apr=/usr/local/apr \ > --with-apr-util=/usr/local/apr-util \ > --enable-modules=most \ > --enable-mpms-shared=all \ > --with-mpm=prefork [[email protected] httpd-2.4.34]# make && make install //將路徑寫入環境變數 [[email protected] ~]# echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/apache.sh [[email protected] ~]# . /etc/profile.d/apache.sh //安裝後配置 [[email protected] ~]# ln -s /usr/local/apache/include/ /usr/include/httpd [[email protected] ~]# echo 'MANPATH /usr/local/apache/man' >> /etc/man.config //啟動apache [[email protected] ~]# apachectl start [[email protected] ~]# ss -antl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 128 :::80 :::* LISTEN 0 128 :::22 :::* LISTEN 0 100 ::1:25 :::*

②.安裝mysql

//安裝依賴包
[[email protected] ~]# yum -y install ncurses-devel openssl-devel openssl cmake mariadb-devel

//建立mysql使用者和組
[[email protected] ~]# groupadd -r mysql
[[email protected] ~]# useradd -r -M -s /sbin/nologin -g mysql mysql
[[email protected] ~]# id mysql
uid=996(mysql) gid=994(mysql) groups=994(mysql)

//解壓二進位制包,並建立連線修改屬主和屬組
[[email protected] ~]# tar -xf mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[[email protected] ~]# cd /usr/local/
[[email protected] local]# ln -s mysql-5.7.23-linux-glibc2.12-x86_64/ mysql
[[email protected] local]# chown mysql.mysql mysql

//新增環境變數
[[email protected] local]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh

//建立存放資料的目錄並修改屬主
[[email protected] local]# mkdir /opt/data 
[[email protected] local]# chown mysql.mysql /opt/data

//初始化資料庫
[[email protected] local]# mysqld --initialize --user=mysql --datadir=/opt/data

//安裝後配置
[[email protected] local]# ln -s /usr/local/mysql/include/ /usr/local/include/mysql
[[email protected] local]# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.con

//生成配置檔案
[[email protected] local]# cat > /etc/my.cnf << EOF
> [mysqld]
> datadir=/opt/data
> basedir = /usr/local/mysql
> socket = /tmp/mysql.sock
> port = 3306
> pid-file = /opt/data/mysql.pid
> user = mysql 
> skip-name-resolve
> EOF

//配置服務啟動指令碼
[[email protected] local]# cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[[email protected] local]# vim /etc/init.d/mysqld 
basedir=/usr/local/mysql
datadir=/opt/data


//啟動mysql
[[email protected] local]# service mysqld start
Starting MySQL.Logging to '/opt/data/lizihan.err'.
 SUCCESS! 

//修改密碼
mysql> set password=password('lzh123!');
Query OK, 0 rows affected, 1 warning (0.00 sec)

③.安裝php

//安裝依賴包
[[email protected] local]# yum -y install libxml2 libxml2-devel openssl openssl-de vel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel mhash mhash-devel

//解壓並編譯安裝php
[[email protected] ~]# tar -xf php-7.2.8.tar.xz 
[[email protected] ~]# cd php-7.2.8/
[[email protected] php-7.2.8]# ./configure --prefix=/usr/local/php7  --with-curl  --with-freetype-dir  --with-gd  --with-gettext  --with-iconv-dir  --with-kerberos  --with-libdir=lib64  --with-libxml-dir=/usr  --with-mysqli=/usr/local/mysql/bin/mysql_config  --with-openssl  --with-pcre-regex  --with-pdo-mysql  --with-pdo-sqlite  --with-pear  --with-jpeg-dir  --with-png-dir  --with-xmlrpc  --with-xsl  --with-zlib  --with-config-file-path=/etc  --with-config-file-scan-dir=/etc/php.d  --with-bz2  --enable-fpm  --enable-bcmath  --enable-libxml  --enable-inline-optimization  --enable-mbregex  --enable-mbstring  --enable-opcache  --enable-pcntl  --enable-shmop  --enable-soap  --enable-sockets  --enable-sysvsem --enable-xml  --enable-zip
[[email protected] php-7.2.8]# make && make install


//將路徑寫入環境變數中
[[email protected] php-7.2.8]# echo 'export PATH=/usr/local/php7/bin:$PATH' > /etc/profile.d/php7.sh
[[email protected] php-7.2.8]# . /etc/profile.d/php7.sh 


//配置php-fpm
[[email protected] php-7.2.8]# cp php.ini-production /etc/php.ini
[[email protected] php-7.2.8]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[[email protected] php-7.2.8]# chmod +x /etc/init.d/php-fpm 
[[email protected] php-7.2.8]# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
[[email protected] php-7.2.8]# cp /usr/local/php7/etc/php-fpm.d/www.conf.default  /usr/local/php7/etc/php-fpm.d/www.conf

//編輯php-fpm配置檔案,新添如下幾行
[[email protected] php-7.2.8]# vim /usr/local/php7/etc/php-fpm.conf
pm.max_children = 50     //最多同時提供50個程序提供50個併發服務
pm.start_servers = 5      //啟動時啟動5個程序
pm.min_spare_servers = 2      //最小空閒程序數
pm.max_spare_servers = 8     //最大空閒程序數


//啟動php-fpm
[[email protected] php-7.2.8]# service php-fpm start
Starting php-fpm  done


④.配置apache

//啟用httpd 的相關模組,取消指定兩行前面的#
[[email protected] ~]# vim /etc/httpd123/httpd.conf 
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so


//建立虛擬主機目錄並生成php測試頁面
[[email protected] ~]# mkdir /usr/local/apache/htdocs/xixi
[[email protected] ~]# cat > /usr/local/apache/htdocs/xixi/index.php << EOF
> <?php
>    phpinfo();
> ?>
> EOF
[[email protected] ~]# chown -R apache.apache /usr/local/apache/htdocs/


//配置apache訪問頁面
[[email protected] ~]# vim /etc/httpd123/httpd.conf 
<VirtualHost *:80>
    DocumentRoot "/usr/local/apache/htdocs/xixi.com"
    ServerName www.hehe.com
    ProxyRequests Off
    ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/apache/htdocs/xix
i.com/$1
    <Directory "usr/local/apache/htdocs/xixi.com">
        Options none
        AllowOverride none
        Require all granted
    </Directory>
</VirtualHost>


//修改配置檔案,新增內容
 AddType application/x-httpd-php .php
 AddType application/x-httpd-php-source .phps

[[email protected] ~]# sed -i '/DirectoryIndex/s/index.html/index.php index.html/g' /etc/httpd123/httpd.conf 

//重啟apache服務
[[email protected] ~]# apachectl stop
[[email protected] ~]# apachectl start

⑤.在window上新增域名與IP對映,在/windows/system32/drrvers/etc/hosts裡面田間

172.16.11.11 www.hehe.com

測試
使用域名訪問在這裡插入圖片描述