1. 程式人生 > >2018.3.12 12周1次課

2018.3.12 12周1次課

Linux學習

十二周一次課(3月12日)

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次課