linux下php開發環境搭建(nginx+php+mysql)


安裝前准備工作

先安裝一些必要的類庫

yum install -y wget  zlib-devel bzip2-devel  curl-devel openssl openssl-devel vim subversion pcre-devel

php需要的一些類庫

yum install -y libxml2 libxml2-devel freetype-devel libjpeg-devel libpng-devel libtiff-devel libxslt-devel
//mcrypt擴展
yum  install  -y  libmcrypt  libmcrypt-devel php-mcrypt

mysql相關類庫
yum install -y cmake gcc gcc-c++ perl-Data-Dumper libaio git perl bison ncurses-devel

 

一、安裝nginx

1、下載nginx安裝包

 wget -c http://nginx.org/download/nginx-1.7.4.tar.gz 

2、進入目錄,解壓

tar -zxvf nginx-1.7.4.tar.gz 

3、編譯

./configure   --prefix=/usr/local/nginx --with-pcre --with-file-aio --with-http_gzip_static_module --with-http_ssl_module --with-http_stub_status_module

4、安裝

make && make install

5、檢查是否安裝成功

/usr/local/nginx/sbin/nginx -t檢測是否成功

/usr/local/nginx/sbin/nginx 啟動nginx

/usr/local/nginx/sbin/nginx -s  reload 重啟

6、開放端口

vi /etc/sysconfig/iptables #編輯防火牆配置文件

-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 3360 -j ACCEPT

保存退出

 service iptables restart 重啟防火牆

7、關閉SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注釋掉
SELINUX=disabled #增加

保存退出

setenforce 0 #使配置立即生效

 

二、PHP編譯安裝

1、下載php壓縮包

http://php.net/get/php-5.4.41.tar.gz/from/a/mirror

2、解壓

tar xzvf php-5.4.41.tar.gz

3、編譯安裝

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-openssl --with-pear=/usr/share/php --enable-ftp --enable-zip --with-bz2 --with-zlib --with-libxml-dir=/usr --with-gd --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-freetype-dir --with-gettext --with-iconv --enable-mbstring --disable-ipv6 --enable-inline-optimization  --enable-static --enable-sockets --enable-soap --with-mhash --with-pcre-regex --with-mcrypt --with-curl --with-mysql --with-mysqli --with-pdo_mysql

make && make install

4、配置

進入php配置目錄

cd  /usr/local/php/etc

cp php.ini-development php.ini

cp php-fpm.conf.default php-fpm.conf

#編輯php-fpm配置文件(簡單配置一下)

vi /usr/local/php/etc/php-fpm.conf

user = nobody #設置php-fpm運行賬號為nobody
group = nobody #設置php-fpm運行組為nobody

pid = run/php-fpm.pid #取消前面的分號

:wq! #保存退出

 

#編輯php.ini配置文件(簡單配置一下,更多配置請參考官方說明)

vi /usr/local/php/etc/php.ini

找到:;date.timezone =
修改為:date.timezone = PRC #設置時區

找到:expose_php = On
修改為:expose_php = Off #禁止顯示php版本的信息

找到:short_open_tag = Off
修改為:short_open_tag = ON #支持php短標簽

找到opcache.enable=0
修改為opcache.enable=1 #php支持opcode緩存

找到:opcache.enable_cli=1 #php支持opcode緩存
修改為:opcache.enable_cli=0

在最后一行添加:zend_extension=opcache.so #開啟opcode緩存功能


:wq! #保存退出

 

5、啟動php-fpm

執行 /usr/local/php/sbin/php-fpm

6、設置php-fpm開機啟動

cp  phpsrc/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #拷貝php-fpm到啟動目錄
chmod +x /etc/rc.d/init.d/php-fpm #添加執行權限
chkconfig php-fpm on #設置開機啟動

7、php-fpm進程管理
/usr/local/php/sbin/php-fpm  #啟動php-fpm


INT, TERM 立刻終止
QUIT 平滑終止
USR1 重新打開日志文件
USR2 平滑重載所有worker進程並重新載入配置和二進制模塊

kill -INT `cat /usr/local/php/var/run/php-fpm.pid`(進程號)
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

php.ini-development

 

8、配置nginx支持php

vi /usr/local/nginx/conf/nginx.conf

修改/usr/local/nginx/conf/nginx.conf 配置文件,需做如下修改

user nobody nobody; #首行user去掉注釋,修改Nginx運行組為nobody nobody;必須與/usr/local/php/etc/php-fpm.conf中的user,group配置相同,否則php運行出錯

index index.html index.htm index.php; #添加index.php

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

location ~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

#取消FastCGI server部分location的注釋,注意fastcgi_param行的參數,改為$document_root$fastcgi_script_name,或者使用絕對路徑

重啟nginx

/usr/local/nginx/bin/nginx -s reload

 

三、Mysql安裝

mysql的安裝方式有2種,一種是編譯安裝,一種是直接下載編譯好的壓縮包進行安裝

這里采用官方編譯好的方式進行安裝

1、下載mysql

wget -c http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz

2、解壓,將其解壓在/usr/local/mysql目錄下

tar xzvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz

3、創建mysql用戶組

shell> groupadd mysql
shell> useradd -g mysql -s /bin/false mysql

4、進入mysql解壓后的目錄,安裝mysql

cd /usr/local/mysql

進入安裝路徑,執行初始化配置腳本,創建系統自帶的數據庫和表
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

mysql5.7.6以上版本請用如下命令安裝

shell> bin/mysql_install_db --user=mysql    # Before MySQL 5.7.6
shell> bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up
shell> bin/mysql_ssl_rsa_setup              # MySQL 5.7.6 and up

記住安裝后的命令行提示的mysql密碼

--復制my.cnf配置文件

cp support-files/my-medium.cnf /usr/local/mysql/my.cnf

注:在啟動MySQL服務時,會按照一定次序搜索my.cnf,先在/etc目錄下找,找不到則會搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,這是新版MySQL的配置文件的默認位置!注意:在CentOS 6.4版操作系統的最小安裝完成后,在/etc目錄下會存在一個my.cnf,需要將此文件更名為其他的名字,如:/etc/my.cnf.bak,否則,該文件會干擾源碼安裝的MySQL的正確配置,造成無法啟動。

修改/usr/local/mysql權限
chown -R mysql:mysql /usr/local/mysql

5、啟動MySQL
 添加服務,拷貝服務腳本到init.d目錄,並設置開機啟動
cp support-files/mysql.server /etc/init.d/mysql

chmod +x mysql
chkconfig mysql on
service mysql start  --啟動MySQL

 

6、修改mysql密碼
./mysqladmin -p舊密碼 password 新密碼;

 

7、修改遠程訪問權限(這里以root為例)

grant all privileges on *.* to 'root'@'%' identified by '123456';
flush privileges;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM