CentOS6.5+nginx+mysql+php(laravel)服務器環境搭建

公司準備迭代會員中心項目,要上laravel框架,替代之前的Ecshop框架,PHP工程師將部分功能頁面代碼提交,本身也準備着手搭建一個測試環境將項目跑起來;php

1、 環境依賴安裝設置html

關閉防火牆node

[root@node5 ~]# service iptables stopmysql

[root@node5 ~]# chkconfig iptables offlinux

[root@node5 ~]# vim /etc/selinux/confignginx

SELINUX=disabledlaravel

[root@node5 ~]# yum -y groupinstall "Development Tools" "Development Libraries"c++

gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre pcre-develweb

2、 Nginx服務安裝配置sql

編譯安裝

[root@node5 src]# tar -xvf nginx-1.8.0.tar.gz

[root@node5 src]# cd nginx-1.8.0

[root@node5 nginx-1.8.0]# ./configure --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module

[root@node5 nginx-1.8.0]#make –j 2&& make install;

文件配置

[root@node5 ~]# useradd -s /sbin/nologin nginx

[root@node5 ~]# vim /usr/local/nginx/conf/nginx.conf

2 #user  nobody;       #將此行註釋掉

3  user nginx nginx;     #添加新的用戶

 

44         location / {

45             root   html;

46             index index.php index.html index.htm;

47                   }

 

location ~ \.php$ {                                          #將這此行取消註釋

 67             root           html;

 68             fastcgi_pass   127.0.0.1:9000;

 69             fastcgi_index  index.php;

 70             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

 71             include        fastcgi_params;

 72         }

 

Nginx管理

[root@node5 ~]# /usr/local/nginx/sbin/nginx               #啓動nginx

[root@node5 ~]# /usr/local/nginx/sbin/nginx -s reload      #平滑啓動nginx

添加nginx啓動腳本

#!/bin/bash

# nginx Startup script for the Nginx HTTP Server

# it is v.0.0.2 version.

# chkconfig: - 85 15

# description: Nginx is a high-performance web and proxy server.

#              It has a lot of features, but it's not for everyone.

# processname: nginx

# pidfile: /var/run/nginx.pid

# config: /usr/local/nginx/conf/nginx.conf

nginxd=/usr/local/nginx/sbin/nginx

nginx_config=/usr/local/nginx/conf/nginx.conf

nginx_pid=/var/run/nginx.pid

RETVAL=0

prog="nginx"

# Source function library.

. /etc/rc.d/init.d/functions

# Source networking configuration.

. /etc/sysconfig/network

# Check that networking is up.

[ ${NETWORKING} = "no" ] && exit 0

[ -x $nginxd ] || exit 0

# Start nginx daemons functions.

start() {

if [ -e $nginx_pid ];then

   echo "nginx already running...."

   exit 1

fi

   echo -n $"Starting $prog: "

   daemon $nginxd -c ${nginx_config}

   RETVAL=$?

   echo

   [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx

   return $RETVAL

}

# Stop nginx daemons functions.

stop() {

        echo -n $"Stopping $prog: "

        killproc $nginxd

        RETVAL=$?

        echo

        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid

}

# reload nginx service functions.

reload() {

    echo -n $"Reloading $prog: "

    #kill -HUP `cat ${nginx_pid}`

    killproc $nginxd -HUP

    RETVAL=$?

    echo

}

# See how we were called.

case "$1" in

start)

        start

        ;;

stop)

        stop

        ;;

reload)

        reload

        ;;

restart)

        stop

        start

        ;;

status)

        status $prog

        RETVAL=$?

        ;;

*)

        echo $"Usage: $prog {start|stop|restart|reload|status|help}"

        exit 1

esac

exit $RETVAL

[root@node5 ~]# chmod +x /etc/init.d/nginx                 #添加權限

設置開機啓動

[root@node5 ~]# vim /etc/rc.local                            #在下面添加一行代碼

/etc/init.d/nginx start

 

3、 Mysql服務安裝配置

[root@node5 ~]# yum -y install cmake ncurses-devel

[root@node5 src]# tar -xvf mysql-5.6.26.tar.gz

[root@node5 src]# cd mysql-5.6.26

[root@node5 mysql-5.6.26]# useradd -s /sbin/nologin mysql

[root@node1 mysql-5.6.26]# cmake \

 -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \

 -DDEFAULT_CHARSET=utf8 \

 -DDEFAULT_COLLATION=utf8_general_ci \

 -DWITH_EXTRA_CHARSETS=all \

 -DWITH_MYISAM_STORAGE_ENGINE=1\

 -DWITH_INNOBASE_STORAGE_ENGINE=1\

 -DWITH_MEMORY_STORAGE_ENGINE=1\

 -DWITH_READLINE=1\

 -DENABLED_LOCAL_INFILE=1\

 -DMYSQL_DATADIR=/usr/local/mysql/data \

 -DMYSQL-USER=mysql

[root@node5 mysql-5.6.26]#make –j 2 && make install;

[root@node5 mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysql/

[root@node5 mysql-5.6.26]# cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

[root@node5 mysql-5.6.26]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

[root@node5 mysql-5.6.26]# vim /etc/init.d/mysqld

46 basedir=/usr/local/mysql

47 datadir=/usr/local/mysql/data

[root@node5 mysql-5.6.26]# chkconfig mysqld on

初始化數據庫

[root@node5 mysql-5.6.26]# /usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql

[root@node5 mysql-5.6.26]# ls /usr/local/mysql/data/

auto.cnf  ibdata1  ib_logfile0  ib_logfile1  mysql  node5.err  performance_schema  test

[root@node5 mysql-5.6.26]# service mysqld start                         #啓動mysql服務

[root@node5 mysql-5.6.26]# ln -s /usr/local/mysql/bin/* /bin/

[root@node5 mysql-5.6.26]# mysql_secure_installation                    #設置初始密碼

 

4、 編譯安裝PHP服務配置

[root@node5]#yum install -y libxml2-devel libcurl-devel libjpeg-devel libpng-devel freetype freetype-devel

[root@node5 src]# tar -xvf libmcrypt-2.5.8.tar.bz2

[root@node5 src]# cd libmcrypt-2.5.8

[root@node5 libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt

[root@node5 libmcrypt-2.5.8]#make && make install;

[root@node5 src]# tar -xvf php-5.6.13.tar.bz2

[root@node5 src]# cd php-5.6.13

須要添加到庫文件路徑

因爲系統默認規定只在/lib、/lib6四、/lib/lib64下面找庫文件,因此咱們須要手動添加進去。

[root@node5 src]# vim /etc/ld.so.conf

include ld.so.conf.d/*.conf                          #此行原有

/usr/local/libmcrypt/lib                             #此行添加

/usr/local/mysql/lib                                #此行添加

[root@node5 src]#ldconfig

[root@node5 src]# echo 'ldconfig' >> /etc/rc.local

[root@node5 php-5.6.13]#

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-mcrypt=/usr/local/libmcrypt

[root@node5 php-5.6.13]# make -j 2 && make install;

配置php和php-fpm文件

[root@node5 php-5.6.13]# cp /usr/local/src/php-5.6.13/php.ini-production /usr/local/php/php.ini

[root@node5 php-5.6.13]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

[root@node5 php-5.6.13]# vim /usr/local/php/etc/php-fpm.conf

149 user = nginx

150 group = nginx

 

配置PHP_FPM啓動腳本

[root@node5 php-5.6.13]# cp /usr/local/src/php-5.6.13/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

[root@node5 php-5.6.13]# chmod +x /etc/init.d/php-fpm

[root@node5 php-5.6.13]# /etc/init.d/php-fpm start

[root@node5 php-5.6.13]# chkconfig php-fpm on          #設爲開機啓動

 

5、 配置數據庫和網站代碼發佈

數據庫還原

mysql> create databases zmqdb;

[root@node5 home]# mysql -uroot -p zmqdb<zmqdb.sql

修改數據庫配置鏈接

[root@node5 html]# vim .env

DB_CONNECTION=mysql

DB_HOST=127.0.0.1

DB_PORT=3306

DB_DATABASE=zmqdb

DB_USERNAME=root

DB_PASSWORD=******

代碼配置

將代碼上傳到nginx網站默認目錄(/usr/local/nginx/html)

[root@node5 conf]# vim /usr/local/nginx/conf/nginx.conf                              #修改路徑

root       /usr/local/nginx/html/public;

設置網站訪問權限

[root@node5 html]# chown -R nginx:nginx html/

[root@node5 nginx]# chmod 755 -R html/

6、 其它

後臺管理訪問路徑:IP+/admin/login

移動端訪問路徑:IP+/mobile/login

框架日誌目錄:storage/logs/

測試的時候能夠打 開項目的報錯信息: [root@node5 nginx]# vim html/config/app.php

'debug'           => true

7、 測試

移動端                                                                 後臺管理                         

相關文章
相關標籤/搜索