1. 程式人生 > >41.部署LNMP平臺源碼

41.部署LNMP平臺源碼

linux

源碼部署LNMP

v 環境需求:關閉防火墻,設置靜態IP地址,部署YUM

# systemctl stop firewalld #關閉firewalld防火墻

# systemctl disable firewalld.service #禁止firewalld服務自啟

# sed -i -e ‘s|SELINUX=enforcing|SELINUX=disabled|‘ /etc/selinux/config #關閉SELINUX

# sed -i -e ‘s|SELINUXTYPE=targeted|#SELINUXTYPE=targeted|‘ /etc/selinux/config

#echo [a]

name=a

baseurl=file:///run/media/root/CentOS\ 7\ x86_64

gpgcheck=0 > /etc/yum.repos.d/a.repo #部署YUM

# yum clean all #清除YUM緩存

# yum makecache #重新生成YUM緩存

# echo ‘TYPE=Ethernet

BOOTPROTO=static

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_FAILURE_FATAL=no

NAME=eth0

DEVICE=eth0

ONBOOT=yes

IPADDR=1.1.1.1

NETMASK=255.255.255.0

GATEWAY=1.1.1.254

DNS1=202.96.134.133 > /etc/sysconfig/network-scripts/ifcfg-eth0 #修改靜態IP

v 部署MYSQL數據庫

# yum -y remove mariadb-server #移除YUM版的MYSQL數據庫

# yum -y install bison gcc gcc-c++ cmake ncurses-devel

#安裝相關組件

# tar xzvf mysql-5.5.22.tar.gz #解壓MYSQL壓縮包

# cd mysql-5.5.22/

# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all #使用CMAKE檢查MYSQL

#make && make install #編譯安裝MYSQL數據庫

註釋:

-DCMAKE_INSTALL_PREFIX:指定安裝路徑

-DSYSCONFDIR:指定配置文件路徑

-DDEFAULT_CHARSET:指定使用的語言編碼

-DDEFAULT_COLLATION:指定默認使用的語言編碼校驗

-DWITH_EXTRA_CHARSETS:指定可以使用其他的語言編碼

# useradd mysql #創建運行用戶

# chown -R mysql.mysql /usr/local/mysql/ #授權安裝目錄

# unalias cp #開啟CP命令的強制

# cp -f /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf #拷貝配置

# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data #初始化MYSQL數據庫

# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld #命令放入自啟目錄

# chkconfig --add mysqld #添加自啟服務到chkconfig工具

# chkconfig mysqld on #設置為開機自啟

# service mysqld start #重啟MYSQL數據庫服務

# mysqladmin -u root password 123 # 設置ROOT用戶密碼

v 部署Nginx服務器

# yum -y install pcre-devel zlib-devel #安裝相關組件

# useradd -M -s /sbin/nologin nginx #創建運行用戶

# tar xzvf nginx-1.6.0.tar.gz #解壓Nginx壓縮包

# cd nginx-1.6.0

#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module #檢查Nginx包完整性

# make && make install #編譯並安裝Nginx

v 部署PHP服務器

# yum -y install gd libxml2-devel libjpeg-devel libpng-devel bzip2 #安裝相關組件

# tar xjvf php-7.1.0.tar.bz2 #解壓PHP壓縮包

# cd php-7.1.0

# ./configure --prefix=/usr/local/php --with-gd --with-zlib --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php --enable-mbstring --enable-fpm --with-jpeg-dir=/usr/lib

#make && make install #編譯安裝PHP

# cp php.ini-production /usr/local/php/php.ini #拷貝PHP配置文件

# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf #拷貝PHP測試頁面配置文件

# useradd -M -s /sbin/nologin php #創建運行用戶

PHP加速模塊安裝方法,下面版本只適用於PHP5.3,想要支持PHP7請下載高版本。

# tar xzvf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz

# cp ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/ZendGuardLoader.so /usr/local/php/lib/php/ #拷貝加速模塊到PHP指定目錄

# echo ‘zend_extension=/usr/local/php/lib/php/ZendGuardLoader.so‘ >> /usr/local/php/php.ini

# echo ‘zend_loader.enable=1‘ >> /usr/local/php/php.ini #添加加速PHP模塊

v 配置LNMP環境變量

# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile #設置環境變量

# echo "PATH=$PATH:/usr/local/nginx/sbin" >> /etc/profile

# echo "PATH=$PATH:/usr/local/php/sbin" >> /etc/profile

#source /etc/profile

v 配置Nginx支持PHP解析

#vim /usr/local/nginx/conf/nginx.conf

location / {

root html;

index index.php index.html index.htm; #添加index.php首先解析

}

location ~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9000; #調用本機的php-fpm進程

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name;

include fastcgi_params;

}

#vim /usr/local/nginx/html/index.php

添加內容:

<?php

phpinfo (); #PHP測試頁面

?>

v 啟動PHPNginx服務

# php-fpm

# nginx

# netstat -lnupt |grep 3306

# netstat -lnupt |grep 80

# netstat -lnupt |grep php-fpm

故障排查:解決PHP頁面解析出現找不到文件故障

# sed -i -e ‘s|;cgi.fix_pathinfo=1|cgi.fix_pathinfo=1‘ /usr/local/php/php.ini


41.部署LNMP平臺源碼