請參閱下列連結
http://benit.pixnet.net/blog/post/25540989-%E9%97%9C%E9%96%89-windows-%E8%87%AA%E5%8B%95%E6%9B%B4%E6%96%B0-%E5%BE%8C-%E8%87%AA%E5%8B%95%E9%87%8D%E9%96%8B%E6%A9%9F
2012年12月12日 星期三
2012年11月19日 星期一
FreeBSD Upgrade Procedures
FreeBSD Upgrade Procedures
參考來源:http://people.freebsd.org/~rse/upgrade/
FreeBSD 8.x to 9.x Remote Upgrade
FreeBSD 7.x to 8.x Remote Upgrade
FreeBSD 6.x to 7.x Remote Upgrade
FreeBSD 5.x to 6.x Remote Upgrade
FreeBSD 4.x to 5.x Remote Upgrade
FreeBSD 3.x to 4.x Local Upgrade
參考來源:http://people.freebsd.org/~rse/upgrade/
2012年11月13日 星期二
2012年11月12日 星期一
安裝 - FreeBSD + Nginx 環境搭建教程(推薦) [原創 2009-12-9 14:01:49]
資料來源:http://icandata.blog.hexun.com.tw/41806505_d.html
為什麽要選擇 FreeBSD?
官方網站:www.freebsd.org 中文網站:http://www.freebsd.org/zh_CN/ FreeBSD是一個優秀的unix操作系統,基於寬松的BSD協議,是完美的企業級操作系統,以重點突出性能和安全而聞名,行業領先的企業多年以來一直使用FreeBSD服務器。具有同所有其它開源軟件操作系統競爭的高級性能。
|
為什麽要選擇 Nginx?
Nginx ("engine x") 是一個高性能的 HTTP 和 反向代理 服務器,也是一個 IMAP/POP3/SMTP 代理服務器。Nginx 是由 Igor Sysoev 為俄羅斯訪問量第二的Rambler.ru 站點開發的,它已經在該站點運行超過四年多了。Igor 將源代碼以類BSD許可證的形式發布。自Nginx 發布四年來,Nginx 已經因為它的穩定性、豐富的功能集、 示例配置文件和低系統資源的消耗而聞名了。目前國內各大門戶網站已經部署了Nginx,如新浪、網易、騰訊等;國內幾個重要的視頻分享網站也部署了Nginx,如六房間、酷6等。 新近發現Nginx 技術在國內日趨火熱,越來越多的網站開始部署Nginx。
Nginx 是一個很牛的高性能Web和反向代理服務器, 它具有有很多非常優越的特性:
- 在高連接並發的情況下,Nginx是Apache服務器不錯的替代品: Nginx在美國是做虛擬主機生意的老板們經常選擇的軟件平臺之一. 能夠支持高達 50,000 個並發連接數的響應, 感謝Nginx為我們選擇了 epoll and kqueue 作為開發模型;
- 內存消耗少:在3萬並發連接下,開啟10個Nginx進程消耗150M左右內存(15M*10);
- 不要錢:Nginx為開源軟件,可以免費使用。而購買F5 BIG-IP、NetScaler等硬件負載均衡交換機剛需要十多萬至幾十萬元人民幣;
- Nginx作為負載均衡服務器: Nginx 既可以在內部直接支持 Rails 和 PHP 程序對外進行服務, 也可以支持作為HTTP代理 服務器對外進行服務. Nginx采用C進行編寫, 不論是系統資源開銷還是CPU使用效率都比 Perlbal 要好很多;
- 作為郵件代理服務器: Nginx 同時也是一個非常優秀的郵件代理服務器(最早開發這個產品的目的之一也是作為郵件代理服務器),Last.fm描述了成功並且美妙的使用經驗;
- Nginx 是一個 [#installation 安裝] 非常的簡單 ,配置文件?非常簡潔(還能夠支持perl語法),Bugs非常少的服務器: Nginx 啟動特別容易, 並且幾乎可以做到7*24不間斷運行,即使運行數個月也不需要重新啟動. 你還能夠不間斷服務的情況下進行軟件版本的升級;
- 穩定性高:用於反向代理,宕機的概率微乎其微。
為什麽Nginx的性能要比Apache高得多?這得益於Nginx使用了最新的epoll(Linux 2.6內核)和kqueue(freebsd)網絡I/O模型,而Apache則使用的是傳統的select模型。目前Linux下能夠承受高並發訪問的Squid、Memcached都采用的是epoll網絡I/O模型。
處理大量的連接的讀寫,Apache所采用的select網絡I/O模型非常低效。下面用一個比喻來解析Apache采用的select模型和Nginx采用的epoll模型進行之間的區別:
假設你在大學讀書,住的宿舍樓有很多間房間,你的朋友要來找你。select版樓管大媽就會帶著你的朋友挨個房間去找,直到找到你為止。而epoll版樓管大媽會先記下每位同學的房間號,你的朋友來時,只需告訴你的朋友你住在哪個房間即可,不用親自帶著你的朋友滿大樓找人。如果來了10000個人,都要找自己住這棟樓的同學時,select版和epoll版樓管大媽,誰的效率更高,不言自明。同理,在高並發服務器中,輪詢I/O是最耗時間的操作之一,select和epoll的性能誰的性能更高,同樣不言自明了。
安裝 FreeBSD7.2操作系統的安裝建議參考FreeBSD Handbook,在此僅給出鏈接,以避免不必要的重復勞動:
- 英文版
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/install.html - 中文版
http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/install.html
1. 磁盤分區
由於是WEB服務系統,網站目錄都放於/home目錄下,因此home分區要有足夠的空間。以一塊硬盤146G/內存4G的服務器為例,可做如下分區:
/ 1024M
swap 4096M
/var 10G
/usr 20G
/home 110G
/tmp 1024M
2. 軟件包的選擇
我們的WEB服務系統是要對外服務的,所以盡可能少的選擇軟件包,安裝時建議選擇Minimal,然後進入Custom選擇doc,info,man,src即可。
配置 1. 編輯/etc/rc.conf確保有如下內容:
sshd_enable="YES"
named_enable="YES"2.根據硬件的配置重新編譯內核,編譯內核的辦法參考FreeBSD Handbook,這裏只給出鏈接:
- 英文版
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html - 中文版
http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/kernelconfig.html
獲取相關開源軟件包本文中提到的所有開源軟件包為截止到2009年10月20日的最新穩定版,且均從官方網站下載。 mkdir -p /home/software
cd /home/software
fetch http://sysoev.ru/nginx/nginx-0.8.24.tar.gz
fetch ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.00.tar.gz
fetch ftp://xmlsoft.org/libxml2/libxml2-2.7.6.tar.gz
fetch http://www.zlib.net/zlib-1.2.3.tar.gz
fetch ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.2.40.tar.gz
fetch http://www.ijg.org/files/jpegsrc.v7.tar.gz
fetch http://ftp.twaren.net/Unix/NonGNU/freetype/freetype-2.3.11.tar.gz
fetch http://www.libgd.org/releases/gd-2.0.35.tar.gz
fetch http://www.php.net/get/php-5.2.11.tar.gz/from/this/mirror
fetch http://php-fpm.org/downloads/php-5.2.11-fpm-0.5.13.diff.gz
fetch http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.tar.gz
安裝 Mysql5.1.40Mysql5.1.40 下載地址: [url]http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.40.tar.gz/from/pick [/url]pw groupadd mysql
pw useradd mysql -g mysql -d /dev/null -s /sbin/nologin
tar zxvf mysql-5.1.40.tar.gz
cd mysql-5.1.40
./configure --prefix=/usr/local/webserver/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobase
make && make install clean
chmod +w /usr/local/webserver/mysql
chown -R mysql:mysql /usr/local/webserver/mysql
cp /usr/local/webserver/mysql/support-files/my-medium.cnf /usr/local/webserver/mysql/my.cnf
cd ..
以mysql用戶帳號的身份建立數據表 /usr/local/webserver/mysql/bin/mysql_install_db --datadir=/usr/local/webserver/mysql/data --user=mysql
創建 Mysql 開機啟動腳本 cp /usr/local/webserver/mysql/share/mysql/mysql.server /usr/local/etc/rc.d/mysql.sh
為 mysql.sh 腳本設置可執行屬性 chmod +x /usr/local/etc/rc.d/mysql.sh
修改 /etc/rc.conf vi /etc/rc.conf
加入以下內容 mysql_enable="YES"
啟動 Mysql /usr/local/etc/rc.d/mysql.sh start
安裝 Nginx安裝Nginx所需的pcre庫tar zxvf pcre-8.00.tar.gz
cd pcre-8.00
./configure
make && make install clean
cd ..
安裝 Nginx0.8.24tar zxvf nginx-0.8.24.tar.gz
cd nginx-0.8.24
./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install clean
cd ..
創建 Nginx 日誌目錄mkdir -p /var/log/nginx
chmod +w /var/log/nginx
chown -R www:www /var/log/nginx
創建 Nginx 配置文件rm -f /usr/local/webserver/nginx/conf/nginx.conf
vi /usr/local/webserver/nginx/conf/nginx.conf
輸入以下內容: user www www;worker_processes 8;error_log /var/log/nginx/error.log;pid /var/log/nginx/nginx.pid;worker_rlimit_nofile 51200;events { use kqueue; worker_connections 51200;}http { include mime.types; default_type application/octet-stream; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 8m; sendfile on; tcp_nopush on; keepalive_timeout 30; tcp_nodelay on; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 128k; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml gzip_vary on; server { listen 80; server_name localhost; root /home/excms; index index.html index.htm index.php; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location /nginx_status { stub_status on; access_log off; } }}
創建 Nginx 開機啟動腳本 vi /usr/local/etc/rc.d/nginx.sh
加入以下內容#!/bin/shnginx=/usr/local/webserver/nginx/sbin/nginxconf=/usr/local/webserver/nginx/conf/nginx.confcase $1 in start) echo -n "Starting Nginx" $nginx -c $conf echo " done" ;; stop) echo -n "Stopping Nginx" killall -9 nginx echo " done" ;; test) $nginx -t -c $conf ;; reload) echo -n "Reloading Nginx" ps auxww | grep nginx | grep master | awk '{print $2}' | xargs kill -HUP echo " done" ;; restart) $nginx stop $nginx start ;; show) ps -aux|grep nginx ;; *) echo -n "Usage: $0 {start|restart|reload|stop|test|show}" ;; esac
為 nginx.sh 腳本設置可執行屬性 chmod +x /usr/local/etc/rc.d/nginx.sh
修改 /etc/rc.conf vi /etc/rc.conf
加入以下內容 nginx_enable="YES"
啟動 Nginx /usr/local/etc/rc.d/nginx.sh start
在不停止 Nginx 服務的情況下平滑變更 Nginx 配置
修改 /usr/local/webserver/nginx/conf/nginx.conf 配置文件後,請執行以下命令檢查配置文件是否正確: /usr/local/etc/rc.d/nginx.sh test
如果屏幕顯示以下兩行信息,說明配置文件正確:
the configuration file /usr/local/webserver/nginx/conf/nginx.conf syntax is ok
the configuration file /usr/local/webserver/nginx/conf/nginx.conf was tested successfully
平滑變更 Nginx 配置 /usr/local/etc/rc.d/nginx.sh reload
安裝 GD安裝 zlibtar zxvf zlib-1.2.3.tar.gzcd zlib-1.2.3./configuremake && make install cleancd ..
安裝 libpngtar zxvf libpng-1.2.40.tar.gzcd libpng-1.2.40./configuremake && make install cleancd ..
安裝 jpegtar zxvf jpegsrc.v7.tar.gzcd jpeg-7./configure –prefix=/usr/local/jpeg7 -enable-shared -enable-staticmake && make install cleancd ..
安裝 freetypetar zxvf freetype-2.3.11.tar.gzcd freetype-2.3.11./configuremake && make install cleancd ..
安裝 gd2.0.35tar zxvf gd-2.0.35.tar.gzcd gd-2.0.35./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg7 --width-png --width-zlib --width-freetypemake && make install cleancd ..
安裝 libxml2tar -zxvf libxml2-2.7.6.tar.gzcd libxml2-2.7.6./configuremake && make install cleancd ..
安裝 PHP5.2.11編譯安裝PHP 5.2.11所需的支持庫 libiconvtar zxvf libiconv-1.13.tar.gz
cd libiconv-1.13
./configure --prefix=/usr/local
make && make install clean
cd ..
編譯安裝PHP(FastCGI模式)tar zxvf php-5.2.11.tar.gz
gzip -cd php-5.2.11-fpm-0.5.13.diff.gz | patch -d php-5.2.11 -p1
cd php-5.2.11
./configure --prefix=/usr/local/webserver/php --with-config-file-path=/usr/local/webserver/php/etc --with-mysql=/usr/local/webserver/mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-gd --enable-gd-native-ttf --with-libxml-dir --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-openssl --enable-pcntl --enable-sockets
make ZEND_EXTRA_LIBS='-liconv'
make install clean
cp php.ini-dist /usr/local/webserver/php/etc/php.ini
cd ..
安裝 ZendOptimizerZendOptimizer 官方下載地址: http://www.zend.com/en/products/guard/downloads tar zxvf ZendOptimizer-3.3.9-freebsd6.0-i386.tar.gzcd ZendOptimizer-3.3.3-freebsd6.0-i386ln -s /usr/lib/libc.so /usr/lib/libc.so.6 ln -s /usr/lib/libcrypt.so /usr/lib/libcrypt.so.3 ln -s /usr/lib/libutil.so /usr/lib/libutil.so.5 ln -s /usr/lib/libm.so /usr/lib/libm.so.4 ./install-ttycd ..
安裝過程中的提示全默認就可以,指定php.ini文件路徑 /usr/local/webserver/php/etc,到Apache Web Server選no
修改php-fpm配置文件php-fpm是為PHP打的一個FastCGI管理補丁,可以平滑變更php.ini配置而無需重啟php-cgi vi /usr/local/webserver/php/etc/php-fpm.conf
將
如要顯示PHP調試的錯誤信息將
創建 PHP-fpm 開機啟動腳本 vi /usr/local/etc/rc.d/php-fpm.sh
加入以下內容
#! /bin/shphp_fpm_BIN=/usr/local/webserver/php/bin/php-cgi
php_fpm_CONF=/usr/local/webserver/php/etc/php-fpm.conf
php_fpm_PID=/usr/local/webserver/php/logs/php-fpm.pid
php_opts="--fpm-config $php_fpm_CONF"
wait_for_pid () { try=0 while test $try -lt 35 ; do case "$1" in 'created') if [ -f "$2" ] ; then try='' break fi ;; 'removed') if [ ! -f "$2" ] ; then try='' break fi ;; esac echo -n . try=`expr $try + 1` sleep 1 done}case "$1" in start) echo -n "Starting php_fpm " $php_fpm_BIN --fpm $php_opts if [ "$?" != 0 ] ; then echo " failed" exit 1 fi wait_for_pid created $php_fpm_PID if [ -n "$try" ] ; then echo " failed" exit 1 else echo " done" fi ;; stop) echo -n "Shutting down php_fpm " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -TERM `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then echo " failed" exit 1 else echo " done" fi ;; quit) echo -n "Gracefully shutting down php_fpm " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -QUIT `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then echo " failed" exit 1 else echo " done" fi ;; restart) $0 stop $0 start ;; reload) echo -n "Reload service php-fpm " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -USR2 `cat $php_fpm_PID` echo " done" ;; logrotate) echo -n "Re-opening php-fpm log file " if [ ! -r $php_fpm_PID ] ; then echo "warning, no pid file found - php-fpm is not running ?" exit 1 fi kill -USR1 `cat $php_fpm_PID` echo " done" ;; *) echo "Usage: $0 {start|stop|quit|restart|reload|logrotate}" exit 1 ;;esac
為 php-fpm.sh 腳本設置可執行屬性 chmod +x /usr/local/etc/rc.d/php-fpm.sh
修改 /etc/rc.conf vi /etc/rc.conf
加入以下內容 php_fpm_enable="YES"
啟動 PHP-fpm /usr/local/etc/rc.d/php-fpm.sh start
在不停止 PHP-fpm 服務的情況下平滑變更 php.ini 配置
修改 /usr/local/webserver/php/etc/php.ini 或者 /usr/loca/webserver/php/etc/php-fpm.conf 配置文件後,請執行以下命令檢查配置文件是否正確: /usr/local/etc/rc.d/php-fpm.sh reload
測試在/home/excms 目錄下新建 phpinfo.php vi /home/excms/phpinfo.php
加入如下文本
打開瀏覽器,在地址欄裏輸入 http://您服务器的IP/phpinfo.php 系統優化修改內核參數,編輯 /boot/loader.conf vi /boot/loader.conf
加入如下文本 kern.dfldsiz="2147483648" # Set the initial data size limi
tkern.maxdsiz="2147483648" # Set the max data size
kern.ipc.nmbclusters="0" # Set the number of mbuf clusterskern.ipc.nsfbufs="66560" # Set the number of sendfile(2) bufs
解釋:
a.第一,第二行主要是為了突破1G內存設置的
b. 第三行其實是bsd的一個bug,當系統並發達到一個數量級的時候,系統會crash,這個是非常糟糕的事情,所幸更改了這個參數後,在高並發的時候,基本可以沒有類似情況,當然非常bt的情況,還得進一步想辦法
c.第四行是讀取的文件數,如果你下載的文件比較大,且比較多,加大這個參數,是非常爽的 防ddos攻擊Sysctl 修改vi /etc/rc.local
加入如下文本 sysctl kern.ipc.maxsockets=100000 ##增加並發的socket,對於ddos很有用sysctl kern.ipc.somaxconn=65535 ##打開文件數
sysctl net.inet.tcp.msl=2500 ##timeout時間
====== FreeBSD + Nginx + php + MySQL ======
====== FreeBSD + Nginx + php + MySQL ======
資料來源:http://www.mgt.ncu.edu.tw/~jerry54010/doku/data/pages/freebsd/8.1_nginx_php_mysql.txt
我個人是直接把apache直接換成Nginx \\
其他只是多安裝一些模組而已,因此換起來還好, \\
不過還是稍微會寫一些安裝上的順序。 \\
==== 安装MySQL ====
(此部份是[[freebsd:8.1安裝紀錄
此篇文章]]直接複製過來,MySQL server的安裝步驟其實都一樣)
*安裝mysql server
設定編碼為utf8
# cd /usr/ports/databases/mysql50-server
# make WITH_CHARSET=utf8 WITH_XCHARSET=all WITH_COLLATION=utf8_unicode_ci BUILD_OPTIMIZED=yes install clean
*安裝資料庫
#rehash
#sudo mysql_install_db (記得需要用root權限)
*複製設定檔
*變更mysql資料庫權限
*初始啟動
*新增使用者root
也可以是這樣
前者會出現"Enter Password", 就當做是confirm就好了
*進入MySQL
輸入剛剛設定的密碼即可
==== 安裝PHP ====
*安裝php
# cd /usr/ports/lang/php5
# make config install clean
將下面的模組勾一勾,沒有的選項就不管他了~
[X] CLI Build CLI version
[X] CGI Build CGI version
[X] FPM 必勾!!! Nginx處理php時是要交給他處理
[X] APACHE Build Apache module
[ ] DEBUG Enable debug
[X]] SUHOSIN Enable Suhosin protection system
[X] MULTIBYTE Enable zend multibyte support
[ ] IPV6 Enable ipv6 support
[ ] REDIRECT Enable force-cgi-redirect support (CGI only)
[ ] DISCARD Enable discard-path support (CGI only)
[X] FASTCGI Enable fastcgi support (CGI only)
[X] PATHINFO Enable path-info-check support (CGI only)
*安裝php5-entensions
# cd /usr/ports/lang/php5-extensions/
# make config install clean
勾選需要的extension,下面必裝,其餘隨意。
[X] FTP FTP support
[X] GD
[X] GETTEXT
[X] MBSTRING
[X] MYSQL
[ ] POSIX //去掉.
[ ] SQLITE //去掉.
[X] ZLIB
*修改PHP設定檔
# cd /usr/local/etc
# cp php.ini-development php.ini
==== 安裝nginx ====
#cd /usr/ports/www/nginx/
#make install clean
安裝nginx就是這麼簡單~
設定nginx的部份:
編輯/usr/local/etc/nginx/nginx.conf
將#user nobody;
改成:user www;
找到下面的部份:
location / {
root /usr/local/www/nginx; //網頁目錄可以換,看你網頁放哪 (ex./home/www)
index index.html index.htm; //記得加入 index.php 等等
}
下面是給FPM處理PHP的部份,記得先將前面的#註解刪掉, \\
然後將fastcgi_param的/scripts$fastcgi_script.name \\
更改為:/你的網頁目錄$fastcgi_script.name \\
例如:/home/www$fastcgi_script.name \\
#location ~ \.php$ {
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script.name;
# include fastcgi_params;
#}
安裝完後
記得編輯 /etc/rc.conf
加入
mysql_enable="YES"
nginx_enable="YES"
php_fpm_enable="YES"
這樣就可以啦~~~
如果有phpmyadmin的話,可以將該資料夾整個複製到網頁根目錄底下,就可以操作了~~
資料來源:http://www.mgt.ncu.edu.tw/~jerry54010/doku/data/pages/freebsd/8.1_nginx_php_mysql.txt
我個人是直接把apache直接換成Nginx \\
其他只是多安裝一些模組而已,因此換起來還好, \\
不過還是稍微會寫一些安裝上的順序。 \\
==== 安装MySQL ====
(此部份是[[freebsd:8.1安裝紀錄
此篇文章]]直接複製過來,MySQL server的安裝步驟其實都一樣)
*安裝mysql server
設定編碼為utf8
# cd /usr/ports/databases/mysql50-server
# make WITH_CHARSET=utf8 WITH_XCHARSET=all WITH_COLLATION=utf8_unicode_ci BUILD_OPTIMIZED=yes install clean
*安裝資料庫
#rehash
#sudo mysql_install_db (記得需要用root權限)
*複製設定檔
#cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf
*變更mysql資料庫權限
#sudo chown -R mysql:mysql /var/db/mysql
*初始啟動
#sudo mysqld_safe &
*新增使用者root
#sudo mysqladmin -u root -p password 'Your_password'
也可以是這樣
#sudo mysqladmin -u root passowrd 'Your_password'
前者會出現"Enter Password", 就當做是confirm就好了
*進入MySQL
#sudo mysql -u root
輸入剛剛設定的密碼即可
==== 安裝PHP ====
*安裝php
# cd /usr/ports/lang/php5
# make config install clean
將下面的模組勾一勾,沒有的選項就不管他了~
[X] CLI Build CLI version
[X] CGI Build CGI version
[X] FPM 必勾!!! Nginx處理php時是要交給他處理
[X] APACHE Build Apache module
[ ] DEBUG Enable debug
[X]] SUHOSIN Enable Suhosin protection system
[X] MULTIBYTE Enable zend multibyte support
[ ] IPV6 Enable ipv6 support
[ ] REDIRECT Enable force-cgi-redirect support (CGI only)
[ ] DISCARD Enable discard-path support (CGI only)
[X] FASTCGI Enable fastcgi support (CGI only)
[X] PATHINFO Enable path-info-check support (CGI only)
*安裝php5-entensions
# cd /usr/ports/lang/php5-extensions/
# make config install clean
勾選需要的extension,下面必裝,其餘隨意。
[X] FTP FTP support
[X] GD
[X] GETTEXT
[X] MBSTRING
[X] MYSQL
[ ] POSIX //去掉.
[ ] SQLITE //去掉.
[X] ZLIB
*修改PHP設定檔
# cd /usr/local/etc
# cp php.ini-development php.ini
==== 安裝nginx ====
#cd /usr/ports/www/nginx/
#make install clean
安裝nginx就是這麼簡單~
設定nginx的部份:
編輯/usr/local/etc/nginx/nginx.conf
將#user nobody;
改成:user www;
找到下面的部份:
location / {
root /usr/local/www/nginx; //網頁目錄可以換,看你網頁放哪 (ex./home/www)
index index.html index.htm; //記得加入 index.php 等等
}
下面是給FPM處理PHP的部份,記得先將前面的#註解刪掉, \\
然後將fastcgi_param的/scripts$fastcgi_script.name \\
更改為:/你的網頁目錄$fastcgi_script.name \\
例如:/home/www$fastcgi_script.name \\
#location ~ \.php$ {
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script.name;
# include fastcgi_params;
#}
安裝完後
記得編輯 /etc/rc.conf
加入
mysql_enable="YES"
nginx_enable="YES"
php_fpm_enable="YES"
這樣就可以啦~~~
如果有phpmyadmin的話,可以將該資料夾整個複製到網頁根目錄底下,就可以操作了~~
訂閱:
文章 (Atom)