1. 程式人生 > 實用技巧 >CentOS6 搭建LNMP環境

CentOS6 搭建LNMP環境

一、安裝前的準備

1.環境準備

CentOS 6.x 64位
關閉SELinux和iptables
保證能正常連線網際網路

2.配置網路yum源

(1)先將系統的yum配置檔案備份拷貝到其他目錄

cp /etc/yum.repo.d/* ~/bak

(2)下載阿里雲的yum源

#base源:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
#epel源:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/epel-6.repo
#下載完成後的操作:
yum clean all #清除原有的快取
yum makecache #建立新的快取列表
yum update    #將所有能更新的軟體更新(非必選)

(3)安裝編譯軟體和依賴

yum install -y gcc* pcre-devel opensll openssl-devel zlib-devel ncurses-devel cmake bison libxml2-devel libpng-devel

(4)nginx、mysql、php原始碼包下載地址:

Nginx:http://nginx.org/en/download.html
MySQL:https://dev.mysql.com/downloads/mysql/
PHP:http://www.php.net/

#版本選用:
#Nginx: 1.12.* #選用軟體的穩定版即可
#Mysql: 5.5.*  #5.5 以上版本需要 1G 以上的記憶體,否則無法安裝
#PHP: 5.6* 

二、原始碼軟體安裝

1.nginx

#建立存放原始碼包的目錄

mkdir /lnmp

(1)下載nginx原始碼包

wget http://nginx.org/download/nginx-1.12.2.tar.gz

(2)建立用於執行nginx的使用者

useradd -r -s /sbin/nologin nginx

(3)解壓nginx並安裝

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module

make && make install
2.mysql

(1)下載:

wget https://cdn.mysql.com//Downloads/MySQL-5.5/mysql-5.5.62.tar.gz

(2)建立用於執行mysql的使用者

useradd -r -s /sbin/nologin mysql

(3)解壓縮並安裝

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306

make && make install

#建立軟連線
ln -s /usr/local/mysql/bin/* /usr/local/bin/

(4)修改目錄許可權

#cd /usr/local/mysql/
chown -R root .
chown -R mysql data/

(5)生成mysql配置檔案

cp -a /lnmp/mysql-5.5.62/support-files/my-medium.cnf /etc/my.cnf

(6)初始化,生成授權表

cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql
#初始化成功的標準:兩個ok

(7)生成mysql的啟動和自啟動管理指令碼

cd /lnmp/mysql-5.5.62/support-files/
cp -a mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld

chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
#設定密碼
mysqladmin -uroot password 123456
3.PHP

(1)下載:

wget http://tw2.php.net/distributions/php-5.6.38.tar.gz

(2)解壓縮並安裝

./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets --with-pdo-mysql=/usr/local/mysql --with-gd --without-pear --enable-fpm
make && make install

(3)生成php配置檔案

cp -a /lnmp/php-5.6.38/php.ini-production /usr/local/php/etc/php.ini

(4)建立軟連線

ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/
4.配置nginx連線php
cd /usr/local/php/etc/

(1)生成php-fpm的配置檔案,並修改引數

cp -a php-fpm.conf.default php-fpm.conf
#vim php-fpm.conf
pid = run/php-fpm.pid
#取消註釋
user = nginx
group = nginx
pm.start_servers = 2
#啟動時開啟的程序數(預設值)
pm.min_spare_servers = 1
#最少空閒程序數(預設值)
pm.max_spare_servers = 3
#最多空閒程序數(預設值)

(2)修改nginx的配置檔案,使其識別.php字尾的

#vim /usr/local/nginx/conf/nginx.conf
#取消以下幾行的註釋,並修改include選項的字尾位fastcgi.conf
#65行-71行
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;
        } 

(3)測試:重啟nginx,建立php測試檔案

        location / {
            root   html;
            index  index.html test.php index.htm;
        }

nginx啟動指令碼下載:
https://yz231.lanzous.com/iwlvFfrrh6h