CentOS7.2 編譯安裝LNMP

1 先關(guān)閉防火墻

CentOS 7.0開始默認(rèn)使用的是firewall作為防火墻

先安裝
yum install firewalld
啟動(dòng): systemctl start firewalld
關(guān)閉: systemctl stop firewalld
查看狀態(tài): systemctl status firewalld 
firewall-cmd --state #查看默認(rèn)防火墻狀態(tài)(關(guān)閉后顯示notrunning至会,開啟后顯示running)
開機(jī)禁用  : systemctl disable firewalld
開機(jī)啟用  : systemctl enable firewalld

2 關(guān)閉SELINUX

vi /etc/selinux/config 
SELINUX=enforcing #注釋掉
SELINUXTYPE=targeted #注釋掉
SELINUX=disabled #增加 

:wq! #保存退出
以上是重啟之后不起用了蝗茁。?
setenforce 0 #使配置立即生效

3 安裝路徑約定

軟件源代碼包存放位置:/lnmp/src      mkdir -p /lnmp/src
源碼包編譯安裝位置:/usr/local/軟件名
數(shù)據(jù)庫(kù)數(shù)據(jù)文件存儲(chǔ)路徑:/data/mysql

4 安裝編譯工具及庫(kù)文件

yum install -y make apr* autoconf automake curl curl-devel gcc gcc-c++  cmake  gtk+-devel zlib-devel openssl openssl-devel pcre-devel gd kernel keyutils patch perl kernel-headers compat* cpp glibc libgomp libstdc++-devel keyutils-libs-devel  libarchive   libsepol-devel libselinux-devel krb5-devel libXpm* freetype freetype-devel freetype* fontconfig fontconfig-devel libjpeg* libpng* php-common php-gd gettext gettext-devel ncurses* libtool* libxml2 libxml2-devel patch policycoreutils bison

5 編譯安裝cmake

cd /lnmp/src
wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz

tar -zxvf cmake-2.8.10.2.tar.gz 
cd  /lnmp/src/cmake-2.8.10.2
./configure --prefix=/usr/local/cmake   #安裝前的配置
make #編譯  echo $?  0表示沒有出錯(cuò)
make install #安裝

vim /etc/profile 在path路徑中增加cmake執(zhí)行文件路徑:
export PATH=$PATH:/usr/local/cmake/bin

source /etc/profile使配置立即生效
cmake --version

6 編譯安裝pcel

cd /lnmp/src
wget https://ftp.pcre.org/pub/pcre/pcre-8.39.tar.gz
tar -zxvf pcre-8.39.tar.gz
cd pcre-8.39
./configure --prefix=/usr/local/pcre && make && make install

7 安裝 libmcrypt

cd /lnmp/src
wget https://sourceforge.net/projects/mcrypt/files/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
tar -zxvf libmcrypt-2.5.8.tar.gz 
cd libmcrypt-2.5.8
./configure 
make
make install

8 安裝GD庫(kù)

cd /lnmp/src
wget https://jaist.dl.sourceforge.net/project/gd2/gd-2.0.35.tar.gz
tar -zxvf gd-2.0.35.tar.gz 
cd gd-2.0.35
./configure --enable-m4_pattern_allow --prefix=/usr/local/gd --with-jpeg=/usr/lib --with-png=/usr/lib --with-xpm=/usr/lib --with-freetype=/usr/lib --with-fontconfig=/usr/lib 
make #編譯
make install #安裝

9 安裝MySQL

groupadd mysql #添加mysql組
useradd -g mysql mysql -s /sbin/nologin #創(chuàng)建用戶mysql并加入到mysql組灰追,不允許mysql用戶直接登錄系統(tǒng)
mkdir -p /data/mysql #創(chuàng)建MySQL數(shù)據(jù)庫(kù)存放目錄
chown -R mysql:mysql /data/mysql #設(shè)置MySQL數(shù)據(jù)庫(kù)目錄權(quán)限
cd /lnmp/src
wget https://cdn.mysql.com/archives/mysql-5.5/mysql-5.5.60.tar.gz
tar -zxvf mysql-5.5.60.tar.gz

cd mysql-5.5.60
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306
make
make install

cd /usr/local/mysql
cp ./support-files/my-huge.cnf /etc/my.cnf #拷貝配置文件(注意:如果/etc目錄下面默認(rèn)有一個(gè)my.cnf罐呼,直接覆蓋即可)
vi /etc/my.cnf #編輯配置文件,在 [mysqld] 部分增加
datadir = /data/mysql #添加MySQL數(shù)據(jù)庫(kù)路徑

./scripts/mysql_install_db --user=mysql #生成mysql系統(tǒng)數(shù)據(jù)庫(kù)
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系統(tǒng)啟動(dòng)
chmod 755 /etc/init.d/mysqld #增加執(zhí)行權(quán)限
chkconfig mysqld on #加入到服務(wù)里面

vi /etc/rc.d/init.d/mysqld #編輯
basedir=/usr/local/mysql #MySQL程序安裝路徑
datadir=/data/mysql #MySQl數(shù)據(jù)庫(kù)存放目錄

service mysqld start #啟動(dòng),可能無法寫入pid文件盐碱,注意將mysql用戶權(quán)限加入至/usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
service mysqld start #再啟動(dòng)

vi /etc/profile #把mysql服務(wù)加入系統(tǒng)環(huán)境變量:在最后添加下面這一行
export PATH=$PATH:/usr/local/cmake/bin:/usr/local/mysql/bin
source /etc/profile #使配置立即生效

mkdir /var/lib/mysql #創(chuàng)建目錄
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #添加軟鏈接
mysql_secure_installation #設(shè)置Mysql密碼姊氓,先輸入之前密碼(因?yàn)橹皼]有所以直接回車)根據(jù)提示按Y 回車輸入2次密碼

Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] n
Remove test database and access to it? [Y/n] n
Reload privilege tables now? [Y/n] y

#   /usr/local/mysql/bin/mysqladmin -u root -p password "123456" #或者直接修改密碼
到此葛家,mysql安裝完成技羔!

10 安裝nginx

cd /lnmp/src
wget http://101.96.8.156/nginx.org/download/nginx-1.12.2.tar.gz
tar -zxvf nginx-1.12.2.tar.gz 

groupadd www #添加www組
useradd -g www www -s /sbin/nologin #創(chuàng)建nginx運(yùn)行賬戶www并加入到www組僵闯,不允許www用戶直接登錄系統(tǒng)

wget https://www.openssl.org/source/openssl-1.1.0b.tar.gz
tar -zxvf openssl-1.1.0b.tar.gz
cd nginx-1.12.2
./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www   --with-http_stub_status_module --with-openssl=/lnmp/src/openssl-1.1.0b --with-pcre=/lnmp/src/pcre-8.39   --with-http_ssl_module
注意:--with-pcre=/usr/local/src/pcre-8.39指向的是源碼包解壓的路徑,而不是安裝的路徑藤滥,否則會(huì)報(bào)錯(cuò)
make && make install

/usr/local/nginx/sbin/nginx #啟動(dòng)
/usr/local/nginx/sbin/nginx -s stop #停止

11 安裝php

cd /lnmp/src/
wget http://cn2.php.net/distributions/php-7.2.14.tar.bz2
yum install -y bzip2
tar -jxvf php-7.2.14.tar.bz2 
cd php-7.2.14

./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc  --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mysqlnd --with-mysql-sock=/usr/local/mysql/mysql.sock --with-gd --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl --with-jpeg-dir --with-freetype-dir   --with-pdo-mysql=/usr/local/mysql/

make #編譯,鳖粟,若遇到make: *** [ext/fileinfo/libmagic/apprentice.lo] 錯(cuò)誤 ,這加參數(shù)–-disable-fileinfo
make install #安裝

cp php.ini-production /usr/local/php7/etc/php.ini #復(fù)制php配置文件到安裝目錄
rm -rf /etc/php.ini #刪除系統(tǒng)自帶配置文件
ln -s /usr/local/php7/etc/php.ini /etc/php.ini #添加軟鏈接
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf #拷貝模板文件為php-fpm配置文件
cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf  

vi /usr/local/php7/etc/php-fpm.d/www.conf  #編輯

user = www #設(shè)置php-fpm運(yùn)行賬號(hào)為www
group = www #設(shè)置php-fpm運(yùn)行組為www

vim /usr/local/php7/etc/php-fpm.conf
pid = run/php-fpm.pid #取消前面的分號(hào)

加入環(huán)境變量
vim /etc/profile
添加 :/usr/local/php7/bin
:wq
source /etc/profile

設(shè)置 php-fpm開機(jī)啟動(dòng)
cp /lnmp/src/php-7.2.14/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #拷貝php-fpm到啟動(dòng)目錄
chmod +x /etc/rc.d/init.d/php-fpm #添加執(zhí)行權(quán)限
chkconfig php-fpm on #設(shè)置加入服務(wù)
vi /usr/local/php7/etc/php.ini #編輯配置文件


這里暫時(shí)不給禁用
找到:disable_functions =
修改為:disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
#列出PHP可以禁用的函數(shù)拙绊,如果某些程序需要用到這個(gè)函數(shù)向图,可以刪除泳秀,取消s禁用
找到:;date.timezone =
修改為:date.timezone = PRC #設(shè)置時(shí)區(qū)
找到:expose_php = On
修改為:expose_php = OFF #禁止顯示php版本的信息
找到:short_open_tag = Off
修改為:short_open_tag = ON #支持php短標(biāo)簽

12 配置nginx支持php

vi /usr/local/nginx/conf/nginx.conf
修改/usr/local/nginx/conf/nginx.conf 配置文件,需做如下修改

user www www; #首行user去掉注釋,修改Nginx運(yùn)行組為www www;必須與/usr/local/php/etc/php-fpm.conf中的user,group配置相同榄攀,否則php運(yùn)行出錯(cuò)
    user www www;
    worker_processes 1;
    events {
    worker_connections 1024;
    }
    http {
        include mime.types;
        default_type application/octet-stream;
        sendfile on;
        keepalive_timeout 65;
        server {
            listen 80;
            server_name localhost;
                location / {
                root /data/www;
                index index.php index.html index.htm;
                }
                location ~ \.php$ {
                root /data/www;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
                }
        }
    }

:wq

mkdir -p /data/www
chown www:www /data/www/ -R #設(shè)置目錄所有者
chmod 700 /data/www -R #設(shè)置目錄權(quán)限

13 重啟各服務(wù)(nginx還未加入服務(wù))

service restart mysqld
service restart php-fpm
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx

14 安裝redis

wget http://120.52.51.15/download.redis.io/releases/redis-4.0.12.tar.gz
tar -zvfx redis-4.0.12.tar.gz
mv redis-4.0.12.tar.gz /usr/local/redis
cd /usr/local/redis/
make && make install

cd /usr/local/redis/src 
./redis-server  #以默認(rèn)配置文件進(jìn)行啟動(dòng)

redis-cli -h 127.0.0.1 -p 6379  #客戶端連接

vim /usr/local/redis/redis.conf

daemonize yes #修改為yes 守護(hù)進(jìn)程
:wq


./src/redis-server redis.conf  #以這個(gè)配置文件啟動(dòng)(有守護(hù)進(jìn)程)
ps aux | grep redis
root     109062  0.1  0.2 145316  2168 ?        Ssl  03:14   0:00 ./src/redis-server 127.0.0.1:6379

安裝phpredis 擴(kuò)展(讓php7可以使用redis)

https://github.com/phpredis/phpredis/releases
上傳phpredis-4.2.0.tar.gz到/lnmp/src目錄

tar -zxvf phpredis-4.2.0.tar.gz
cd phpredis-4.2.0
/usr/local/php7/bin/phpize              # php安裝后的路徑
./configure --with-php-config=/usr/local/php7/bin/php-config
make && make install 

安裝完顯示  Installing shared extensions:   /usr/local/php7/lib/php/extensions/no-debug-non-zts-20170718/
vim /etc/php.ini
增加如下內(nèi)容:
bash extension_dir = " /usr/local/php7/lib/php/extensions/no-debug-non-zts-20170718/" extension=redis.so
重啟php-fpm
bash service php-fpm restart
查看phpinfo();已有redis
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末嗜傅,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子檩赢,更是在濱河造成了極大的恐慌吕嘀,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,807評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贞瞒,死亡現(xiàn)場(chǎng)離奇詭異偶房,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)军浆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門棕洋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人乒融,你說我怎么就攤上這事掰盘。” “怎么了赞季?”我有些...
    開封第一講書人閱讀 169,589評(píng)論 0 363
  • 文/不壞的土叔 我叫張陵庆杜,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我碟摆,道長(zhǎng)晃财,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,188評(píng)論 1 300
  • 正文 為了忘掉前任典蜕,我火速辦了婚禮断盛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘愉舔。我一直安慰自己钢猛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評(píng)論 6 398
  • 文/花漫 我一把揭開白布轩缤。 她就那樣靜靜地躺著命迈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪火的。 梳的紋絲不亂的頭發(fā)上壶愤,一...
    開封第一講書人閱讀 52,785評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音馏鹤,去河邊找鬼征椒。 笑死,一個(gè)胖子當(dāng)著我的面吹牛湃累,可吹牛的內(nèi)容都是我干的勃救。 我是一名探鬼主播碍讨,決...
    沈念sama閱讀 41,220評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼蒙秒!你這毒婦竟也來了勃黍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,167評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤晕讲,失蹤者是張志新(化名)和其女友劉穎溉躲,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體益兄,經(jīng)...
    沈念sama閱讀 46,698評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評(píng)論 3 343
  • 正文 我和宋清朗相戀三年箭券,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了净捅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,912評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡辩块,死狀恐怖蛔六,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情废亭,我是刑警寧澤国章,帶...
    沈念sama閱讀 36,572評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站豆村,受9級(jí)特大地震影響液兽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜掌动,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評(píng)論 3 336
  • 文/蒙蒙 一四啰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧粗恢,春花似錦柑晒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至妖碉,卻和暖如春涌庭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背欧宜。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工脾猛, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鱼鸠。 一個(gè)月前我還...
    沈念sama閱讀 49,359評(píng)論 3 379
  • 正文 我出身青樓猛拴,卻偏偏與公主長(zhǎng)得像羹铅,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子愉昆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 一职员、配置防火墻,開啟80端口跛溉、3306端口 CentOS 7.0默認(rèn)使用的是firewall作為防火墻焊切,這里改為i...
    ArleyDu閱讀 2,098評(píng)論 0 0
  • 一、LAMP環(huán)境的介紹 1.LAMP環(huán)境的重要性 思索許久芳室,最終還是決定寫一篇詳細(xì)的LAMP的源碼編譯安裝的實(shí)驗(yàn)文...
    endmoon閱讀 2,627評(píng)論 4 26
  • 簡(jiǎn)要介紹: 一般來說专肪,LNMP是Linux+Nginx+MySQL+PHP的簡(jiǎn)稱,是一種用于替代LAMP的解決方案...
    無理取now閱讀 4,194評(píng)論 1 1
  • 源碼準(zhǔn)備 由于本文搭建LAMP環(huán)境使用的是源碼安裝堪侯,在安裝過程中需要使用到許多的軟件安裝包嚎尤,因此在安裝過程中應(yīng)該首...
    littlexjing閱讀 536評(píng)論 0 1
  • 青春的風(fēng)鈴響徹了心扉,青春的彩旗舞動(dòng)了夢(mèng)想伍宦,青春的音符帶我奔向希望芽死。青春,這個(gè)美好的季節(jié)次洼,正是播種希望的時(shí)候...
    花落幽然閱讀 211評(píng)論 4 2