查看yum下nginx版本信息php
yum list | grep nginx
發現版本過低,手動添加nginx的yum倉庫:css
vi /etc/yum.repos.d/nginx.repo
內容:html
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
編輯保存以後再查看nginx版本mysql
安裝:linux
yum install -y nginx
安裝完成以後能夠經過 service nginx start 來啓動服務nginx
注:c++
/etc/init.d/nginx start # 啓動Nginx服務 /etc/init.d/nginx stop # 中止Nginx服務 /etc/nginx/nginx.conf # Nginx配置文件位置 #設置nginx隨系統啓動 chkconfig nginx on
nginx的安裝到此完成,啓動以後能夠在瀏覽器ip訪問,會顯示nginx的頁面web
先下載php5.6版本,下載的源碼放在/usr/local/src/ 下sql
cd /usr/local/src/ wget http://php.net/distributions/php-5.6.8.tar.gz tar -xvf php-5.6.8.tar.gz
編譯php須要一些依賴包:數據庫
yum install -y \ libxml2 \ libxml2-devel \ openssl-devel \ libjpeg \ libjpeg-devel \ libpng \ libpng-devel \ freetype \ freetype-devel \ libmcrypt \ libmcrypt-devel \ mcrypt mhash
configure:
./configure --prefix=/usr/local/php5 \ --with-config-file-path=/usr/local/php5/etc \ --enable-fpm --disable-ipv6 \ --enable-pdo --with-pdo-mysql \ --with-openssl \ --with-mcrypt \ --with-mhash \ --enable-json \ --enable-mbstring \ --with-gd \ --with-openssl-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib-dir \ --with-freetype-dir \ --enable-gd-native-ttf \ --enable-gd-jis-conv \ --enable-zip
若是遇到mcrypt出錯信息:
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz tar zxf libmcrypt-2.5.7.tar.gz cd libmcrypt-2.5.7 ./configure make && make install
而後從新執行php configure
安裝:
make make install
安裝完成以後設置fpm
cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf vi php-fpm.conf # 找到以下幾行,確保以下幾行前沒有」;」 pid = run/php-fpm.pid error_log = log/php-fpm.log log_level = notice listen = 127.0.0.1:9000 pm = dynamic pm.max_children = 50 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 500
pm表示使用哪一種方式,有兩個值能夠選擇,就是static(靜態)或者dynamic(動態)。在更老一些的版本中,dynamic被稱做apache-like。這個要注意看配置文件的說明。
下面4個參數的意思分別爲:
pm.max_children:靜態方式下開啓的php-fpm進程數量。
pm.start_servers:動態方式下的起始php-fpm進程數量。
pm.min_spare_servers:動態方式下的最小php-fpm進程數量。
pm.max_spare_servers:動態方式下的最大php-fpm進程數量。
若是dm設置爲static,那麼其實只有pm.max_children這個參數生效。系統會開啓設置數量的php-fpm進程。
若是dm設置爲 dynamic,那麼pm.max_children參數失效,後面3個參數生效。
系統會在php-fpm運行開始 的時候啓動pm.start_servers個php-fpm進程,
而後根據系統的需求動態在pm.min_spare_servers和 pm.max_spare_servers之間調整php-fpm進程數。
利用php自帶的php-fpm管理工具,能夠很方便的start,stop,restart
把管理工具從源碼包裏放到php5/sbin文件夾裏,方便使用
#添加php-fpm到啓動項目錄 cp /usr/local/src/php-5.6.8/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm #設置php-fpm權限 chmod 755 /etc/init.d/php-fpm #設置自啓動 chkconfig php-fpm start
cd /usr/local/php5/etc vi php.ini #搜索 session.save_path , 去掉前面的 ; session.save_path = "/var/lib/php/session" ; #此處假定session 保存在 /var/lib/php/session 目錄下 #創建目錄 mkdir -p /var/lib/php/session chmod -R 777 /var/lib/php/session/ #更改目錄權限
(可前往 https://webtatic.com/packages/php56/ 查看)
16三、aliyun鏡像的php版本過低,須要對yum源進行更新
CentOS/RHEL 7.x:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm |
CentOS/RHEL 6.x:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm
|
yum list php56* #能夠查看php5.6的各類包
執行 yum -y install *** 便可
yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64
注:70的安裝與此相似。
yum install php56w-fpm
系統自帶的yum庫並無須要版本的mysql,所以先得去mysql官網下載相應的repo對yum庫進行擴展
cd /usr/local/ mkdir yumrepo cd yumrepo wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm yum localinstall mysql-community-release-el6-5.noarch.rpm #安裝yum庫 #查看倉庫是否安裝成功 yum repolist enabled | grep "mysql.*-community.*" yum install -y mysql-community-server mysql-community-client mysql-community-dever
安裝成功以後,輸入命令啓動mysql
service mysqld start
第一次啓動會出現一堆提示:
這裏的提示簡單的說就是要咱們用mysqladmin 對root帳戶的密碼進行設置等等。。。
/usr/bin/mysqladmin -u root password '111111' #設置root密碼爲六個1
這個告訴咱們/etc/my.cnf是首次運行生成的mysql配置文件(優化數據庫就須要進這個配置文件配置相關的參數,此處不展開)。
cat /etc/my.cnf
yum 方式安裝到此爲止
(只針對centos 6.5 64)
略去查看操做系統版本...
cd /usr/local/src/ mkdir mysql-server-5.6.21
下載三個rpm軟件包:
MySQL-client-5.6.21-1.rhel5.x86_64.rpm
MySQL-devel-5.6.21-1.rhel5.x86_64.rpm
MySQL-server-5.6.21-1.rhel5.x86_64.rpm
cd mysql-server-5.6.21 wget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-server-5.6.21-1.rhel5.x86_64.rpm wget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-devel-5.6.21-1.rhel5.x86_64.rpm wget http://dev.mysql.com/Downloads/MySQL-5.6/MySQL-client-5.6.21-1.rhel5.x86_64.rpm
安裝依賴:
yum install -y libaio
安裝mysql
rpm -ivh MySQL-server-5.6.21-1.rhel5.x86_64.rpm rpm -ivh MySQL-client-5.6.21-1.rhel5.x86_64.rpm rpm -ivh MySQL-devel-5.6.21-1.rhel5.x86_64.rpm
修改配置文件
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
初始化mysql
/usr/bin/mysql_install_db
啓動mysql
service mysql start
查看進程
ps -ef | grep mysql
netstat -anpt | grep 3306
安裝過程當中會隨機生成root密碼並保存在/root/.mysql_secret 文件中,用more命令查看
more /root/.mysql_secret
而後用查詢的密碼登陸mysql
mysql -uroot -p******** #****爲你查詢到的密碼
修改密碼
SET PASSWORD = PASSWORD('123456'); #123456 爲你要設置的root密碼
配置mysqld 啓動mysql
cp /usr/share/mysql/mysql.server /etc/init.d/mysqld service mysqld start chkconfig mysqld on #設置開機啓動
到此mysql安裝完成
cd /etc/nginx/ vi nginx.conf #打開gzip gzip on;
注意:
nginx配置端口可能須要關閉selinux
# #一、臨時關閉selinux setenforce 0 ##設置SELinux 成爲permissive模式 setenforce 1 ##設置SELinux 成爲enforcing模式 # #二、永久關閉selinux vi /etc/selinux/config #將SELINUX=enforcing改成SELINUX=disabled #重啓機器便可
配置vhost,假設域名爲www.a.com
cd /etc/nginx/conf.d/ vi www.a.com.conf #內容以下 server { listen 80; server_name www.a.com a.com; #讓不帶www的域名跳轉到帶www的域名 if($host != 'www.a.com') { rewrite ^(.*)$ http://www.a.com/$1 permanent; } location / { #開啓ssi支持shtml ssi on; ssi_silent_errors on; ssi_types text/shtml; index index.shtml index.php index.htm index.html; root /mnt/www/www.a.com; #框架路由設置 if ( !-e $request_filename ) { rewrite ^(.*)$ /index.php?url=$1 last; } } location ~\.php$ { root /mnt/www/www.a.com; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~\.(jpg|jpeg|png|js|css) { root /mnt/www/www.a.com; expires 30d; } }
測試一下 配置文件是否有錯誤
/etc/init.d/nginx configtest nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
在數據盤mnt上,新建文件夾/mnt/www/www.a.com,並新建info.php測試文件,內容爲
<?php phpinfo(); ?>
在瀏覽器訪問www.a.com/info.php,能顯示信息則配置完成
ps:
#配置該網站用戶管理 groupadd group_web #group_web 能夠根據我的需求命名 useradd user_web -d /mnt/www/www.a.com chown user_web:group_web /mnt/www/www.a.com
phpinfo() 輸出能夠看到當前php對mysql的支持程度,假設在頁面輸出信息裏面並無找到mysql的支持
cd /usr/local/src/php-5.6.8/ext/mysql /usr/local/php5/bin/phpize #執行這句命令生成configure文件 ./configure --with-php-config=/usr/local/php5/bin/php-config --with-mysql=shared --enable-shared
編譯安裝 make && make install
mysqli的編譯過程也是相似
cd /usr/local/src/php-5.6.8/ext/mysqli /usr/local/php5/bin/phpize #執行這句命令在mysqli目錄下生成configure
此時能夠查看目錄下是否生成了configure可執行文件
./configure --with-php-config=/usr/local/php5/bin/php-config --enable-embedded-mysqli=shared --enable-shared
沒有錯誤的話繼續
make make install
一切正常的話,此時會提示你 mysqli.so 生成,固然也能夠全盤搜下
find / -name "mysqli.so" #拷貝 mysql.so mysqli.so 到 php5/ext/ cd /usr/local/php5/ mkdir ext cp /usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/mysqli.so /usr/local/php5/ext/ #mysqli.so 路徑爲上面命令查找所得 cp /usr/local/php5/lib/php/extensions/no-debug-non-zts-20131226/mysql.so /usr/local/php5/ext/
切換到php5目錄查看php.ini 是否存在,不存在則拷貝源碼目錄下的
cd /usr/local/php5/etc vi php.ini #添加下面內容 extension_dir = "/usr/local/php5/ext"; extension = mysqli.so ; extension = mysql.so ;
下載phpMyAdmin (http://www.phpmyadmin.net/home_page/index.php),解壓後上傳到www目錄下(tar上傳解壓也行),把文件夾重命名爲 phpMyAdmin,(方便訪問)
cd /mnt/www/phpMyAdmin cp config.sample.inc.php config.inc.php vi config.inc.php #修改如下內容 $cfg['blowfish_secret'] = 'www.oschina.com'; #這裏的內容隨意設置,在cookie訪問模式下不能爲空 /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'cookie'; /* Server parameters */ $cfg['Servers'][$i]['host'] = '127.0.0.1'; #重要,這裏設置成localhost有可能會出現phpMyAdmin沒法訪問數據庫 $cfg['Servers'][$i]['connect_type'] = 'tcp'; $cfg['Servers'][$i]['compress'] = false; $cfg['Servers'][$i]['AllowNoPassword'] = false; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = '111111'; #這裏設置數據庫的密碼
上面的 host = 127.0.0.1 再強調一遍,設置成localhost有可能會沒法訪問數據庫
接下來就是繼續配置nginx
cd /etc/nginx/conf.d/ vi phpmyadmin.conf
#文件內容 server { listen 9090; server_name localhost; #charset koi8-r; #access_log /var/log/nginx/log/host.access.log main; location / { ssi on; ssi_silent_errors on; ssi_types text/shtml; root /mnt/www/phpMyAdmin; index index.html index.htm index.php; if ( !-e $request_filename ) { rewrite ^(.*)$ /index.php?url=$1 last; } } location ~\.php$ { root /mnt/www/phpMyAdmin; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} location ~\.(jpg|jpeg|png|js|css) { root /mnt/www/phpMyAdmin; expires 30d; } }
保存退出後,重啓nginx服務,重啓mysqld服務,便可。
一、安裝編譯工具及驅動程序
yum install make apr* autoconf automake gcc gcc-c++ wget
二、安裝unixODBC驅動程序
yum -y install unixODBC unixODBC-devel
三、安裝freetds
cd /usr/local/src wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.00.tar.gz tar -xvf freetds-1.00.tar.gz ./configure --prefix=/usr/local/freetds --with-tdsver=7.3 --with-unixodbc=/usr --enable-msdblib make && make install #安裝 echo "/usr/local/freetds/lib/" > /etc/ld.so.conf.d/freetds.conf ldconfig
4. 查看版本信息
/usr/local/freetds/bin/tsql -C
5. 鏈接mssql 測試 /usr/local/freetds/bin/tsql -H 數據庫服務器IP -p 端口號 -U 用戶名 -P 密碼
cd /usr/local/src/php-5.6.8/ext cd mssql phpize #生成config ./configure --with-php-config=/usr/local/php5/bin/php-config --with-mssql=/usr/local/freetds/ make && make install cd ../pdo_dblib phpize ./configure --with-php-config=/usr/local/php5/bin/php-config --with-pdo-dblib=/usr/local/freetds/ make && make install
在生成目錄下,拷貝相應的so文件到php擴展目錄,而後修改php.ini 便可