lamp伺服器搭建
阿新 • • 發佈:2018-11-03
需求說明
搭建一個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
測試
使用域名訪問