2018.3.12 12周1次課
12.1 LNMP架構介紹
12.2 MySQL安裝
12.3/12.4 PHP安裝
12.5 Nginx介紹
12.1 LNMP架構介紹
和LAMP唯一不同的是,LNMP中的N指的是Nginx(類似於Apache的一種web服務軟件 )。目前這種環境的應用也非常多。Nginx設計的初衷是提供一種快速、高效、多並發的web服務軟件。在靜態頁面的處理上, Nginx較Apache更勝一籌;但在動態頁面的處理上,Nginx並不比Apache有優勢。但是目前還是有很多愛好者對Nginx比較熱衷。隨著Nginx技術的逐漸成熟,它在web服務軟件領域的地位也會越來越高。
12.2 MySQL安裝
卸載舊版本:
cd /usr/local/src
ps aux |grep mysql //查看mysql是否啟動,如果啟動要關閉
rm -rf /usr/local/mysql //刪除mysql目錄
rm -rf /etc/init.d/mysqld //刪除啟動腳本
cd /usr/local/mysql 刪除/data/mysql目錄
保留/etc/my.cnf文件 //系統默認帶這個文件
安裝
cd /usr/local/src
wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
tar zxvf mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.36-linux-glibc2.5-x86_64 /usr/local/mysql
cd /usr/local/mysql
useradd mysql
mkdir /data/
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
vi /etc/init.d/mysqld
定義basedir和datadir
/etc/init.d/mysqld start
12.3/12.4 PHP安裝
針對Nginx的php安裝和上一章的php安裝是有區別的。因為Nginx中的PHP是以fastcgi的方式結合Nginx的。可以理解為Nginx代理了php的fastcgi,需要開啟php-fpm服務。而httpd是把php作為自己的模塊來調用的
cd /usr/local/src/
如果之前安裝過需要清理,需要把之前編譯過的文件全部刪掉,用make clean
wget http://cn2.php.net/distributions/php-5.6.3.tar.gz
tar zxf php-5.6.33.tar.gz
useradd -s /sbin/nologin php-fpm
cd php-5.6.33
yum install -y libcurl-devel //編譯前要需要安裝的庫,其他的在前面安裝php時所依賴的庫都已經安裝了
./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --with-pear --with-curl --with-openssl
make && make install
/usr/local/php-fpm/sbin/php-fpm –m //查看php-fpm模塊
/usr/local/php-fpm/sbin/php-fpm –i //查看php-fpm info
/usr/local/php-fpm/sbin/php-fpm -t //測試配置文件語法的
cp php.ini-production /usr/local/php-fpm/etc/php.ini //拷貝配置文件
vi /usr/local/php-fpm/etc/php-fpm.conf //直接寫入配置文件,可以把php-fpm.conf.default改名為php-fpm.conf進行配置
[global] //定義全局參數
pid = /usr/local/php-fpm/var/run/php-fpm.pid
error_log = /usr/local/php-fpm/var/log/php-fpm.log
[www] //模塊的名字,啟動時能看到
listen = /tmp/php-fcgi.sock //監聽的地址,這裏是sock形式,也可以寫成tcp/ip的形式:ip:port,如127.0.0.1:9000,默認9000,也可以改成其他端口
listen.mode = 666 //定義時sock時才生效,定義文件的權限時666
user = php-fpm //啟動進程的用戶
group = php-fpm //啟動進程的屬組
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm //拷貝啟動腳本
chmod 755 /etc/init.d/php-fpm //更改權限
chkconfig --add php-fpm //增加到服務列表
chkconfig php-fpm on //開機啟動
service php-fpm start
ps aux |grep php-fpm
ls -l /tmp/php-fcgi.sock //查看php-fcgi.sock是666
12.5 Nginx介紹
2018.3.12 12周1次課