LNMP架構簡介
LNMP就是:Linux系統下Nginx+MySQL+PHP這種網站服務器架構。組合到一塊兒,成爲一個免費、高效、擴展性強的網站服務系統。
Nginx 安裝很是的簡單,配置文件 很是簡潔(還可以支持perl語法),Bugs很是少的服務器: Nginx 啓動特別容易,而且幾乎能夠作到不間斷運行,即便運行數個月也不須要從新啓動。你還可以在 不間斷服務的狀況下進行軟件版本的升級。 php
* 安裝mysqlmysql
# tar xzvf mysql-5.5.24.tar.gz -C /opt # cd /opt/mysql-5.5.24 編譯&&編譯安裝 # cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EXTRA_CHARSETS=all \ -DSYSCONFDIR=/etc \ -DMYSQL_DATADIR=/home/mysql/ \ -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_SSL=system \ -DMYSQL_TCP_PORT=3306 \ -DENABLE_DOWNLOADS=1 \ -DWITH_SSL=bundled # make && make install
複製/opt/mysql-5.5.24/support-files 目錄下的 my-medium.cnf 保存到/etc 命名 my.cnf
複製/opt/mysql-5.5.24/support-files 目錄下的 my.server 保存到/etc/init.d 命名 mysqld
設置 /etc/init.d/mysql 文件的權限
添加mysqld 服務並開啓 3 5 的開機自啓動linux
# cp support-files/my-medium.cnf /etc/my.cnf # cp support-files/mysql.server /etc/init.d/mysqld # chmod +x /etc/init.d/mysqld # chkconfig --add mysqld # chkconfig --level 35 mysqld on
定義環境變量nginx
# echo "PATH=$PATH:/usr/local/mysql/bin/" >> /etc/profile # . /etc/profile
建立一個mysql用戶 禁止shell登陸
設置/usr/local/mysql 的屬主爲mysqlsql
# useradd -s /sbin/nologin mysql # chown -R mysql.mysql /usr/local/mysql
初始化數據庫shell
# /usr/local/mysql/scripts/mysql_install_db \ --user=mysql \ --ldata=/var/lib/mysql \ --basedir=/usr/local/mysql \ --datadir=/home/mysql # ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock # vi /etc/init.d/mysqld basedir=/usr/local/mysql datadir=/home/mysql # service mysqld start
安裝配置PHP
首先安裝GD庫及GD庫關聯程序數據庫
# yum -y install \ gd \ libxml2-devel \ libjpeg-devel \ libpng-devel \ zlib-devel \ fontconfig-devel \ openssl-devel \ bzip2-devel
解壓縮安裝包服務器
# tar xjvf /opt/lamp/php-5.4.5.tar.bz2 -C /opt # cd /opt/php-5.4.5 # ./configure \ --prefix=/usr/local/php5 \ --with-gd \ --with-zlib \ --with-mysql=/usr/local/mysql \ --with-config-file-path=/usr/local/php5 \ --enable-mbstring \ --with-jpeg-dir \ --with-openssl \ --disable-ipv6 \ --enable-fpm
安裝編譯安裝架構
# make && make install
優化調整PHPide
# cp php.ini-development /usr/local/php5/php.ini # ln -s /usr/local/php5/bin/* /usr/local/bin/ # ln -s /usr/local/php5/sbin/* /usr/local/sbin/
爲PHP安裝加速器
# tar xzvf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz -C /opt # cd ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x # cp ZendGuardLoader.so /usr/local/php5/lib/php
配置PHP識別加速器
# vi /usr/local/php5/php.ini [Zend Guard Loader] zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so zend_loader.enable=1
開啓nginx的PHP支持
# cd /usr/local/php5/etc/ # cp php-fpm.conf.default php-fpm.conf # useradd -M -s /sbin/nologin php # vi php-fpm.conf //修改參數 pid = run/php-fpm.pid user = php group = php pm.max_children=50 pm.start_servers = 20 pm.min_spare_servers = 5 pm.max_spare_servers = 35 # /usr/local/sbin/php-fpm //啓用該模塊 # netstat -tnal | grep 9000 //查看 # vi /usr/local/nginx/conf/nginx.conf location ~ \.php$ { root /var/www/bt; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; }
測試下LNMP架構
# vi /var/www/bt/index.php <?php phpinfo(); ?> 在網頁測試輸入「http://192.168.100.102/index.php」