LNMP環(huán)境配置

Linux

系統(tǒng)環(huán)境:CentOs 7

Nginx

安裝

一.源碼安裝(未實(shí)踐)

1)新系統(tǒng)要安裝編譯工具
$ yum install -y gcc gcc-c++
2)安裝gizp依賴
yum install -y zlib-devel
3)安裝pcre庫
rewrite模塊需要 pcre 庫

$ cd /usr/local/  `定位到安裝位置`
$wget ftp//ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz `下載`
$tar zxvf pcre-8.39.tar.gz `解壓安裝包`
$cd pcre-8.39
$./configure `配置`
$make&&make install `編譯安裝`

4)安裝ssl庫

$ cd /usr/local/
$ wget http://www.openssl.org/source/openssl-1.0.1j.tar.gz
$ tar -zxvf openssl-1.0.1j.tar.gz
$ cd openssl-1.0.1j
$ ./config
$ make && make install

5)安裝nginx

$cd /usr/local/
$wget http://nginx.org/download/nginx-1.12.2.tar.gz
$tar zxvf nginx-1.12.2.tar.gz
$./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module
$ make && make install

6)啟動

$ /usr/local/nginx/sbin/nginx

二.yum安裝

安裝命令

yum install -y nginx

如果無法安裝成功要配置Nginx源,再重新執(zhí)行上述命令

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

啟動命令

nginx

檢查配置

nginx -t

重啟

nginx -s reload

檢查是否安裝成功,直接訪問主機(jī)
http://localhost/
如圖

nginx安裝成功

php

源碼安裝

參考http://php.net/manual/zh/install.unix.nginx.php

下載安裝包,上傳到服務(wù)器

tar -xvzf php-7.2.3.tar.gz
cd php-7.2.3

安裝依賴

yum -y install libxml2 libxml2-devel openssl openssl-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel pcre pcre-devel libxslt libxslt-devel bzip2 bzip2-devel

配置,./congihure --help查看配置,執(zhí)行

./configure --prefix=/usr/local/php --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip

編譯安裝

make
sudo make install

創(chuàng)建配置文件,并復(fù)制到正確的位置

cp php.ini-development /usr/local/php/php.ini
cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
cp sapi/fpm/php-fpm /usr/local/bin

為了避免惡意腳本注入攻擊,修改php.ini配置

cgi.fix_pathinfo=1
改成
cgi.fix_pathinfo=0

啟動php-fpm服務(wù)

/usr/local/bin/php-fpm

修改nginx配置,使支持php文件

location / {
    root   html;
    index  index.php index.html index.htm;
}

下一步配置來保證對于 .php 文件的請求將被傳送到后端的 PHP-FPM 模塊, 取消默認(rèn)的 PHP 配置塊的注釋,并修改為下面的內(nèi)容

location ~* \.php$ {
    fastcgi_index   index.php;
    fastcgi_pass    127.0.0.1:9000;
    include         fastcgi_params;
    fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
}

重啟nginx,測試

遇到的坑

1.ERROR: Unable to globalize '/usr/local/NONE/etc/php-fpm.d/*.conf' (ret = 2) from /usr/local/etc/php-fpm.conf at line 125.
ERROR: failed to load configuration file '/usr/local/etc/php-fpm.conf'
ERROR: FPM initialization failed
solution:
Edit /usr/local/etc/php-fpm.conf document introduced * .conf part, change to the correct path include = / usr / local / etc / php-fpm.d / *. Conf
If there is no /usr/local/etc/php-fpm.d directory, create the directory.

2.WARNING: Nothing matches the include pattern '/usr/local/etc/php-fpm.d/*.conf' from /usr/local/etc/php-fpm.conf at line 125.
ERROR:. No pool defined at least one pool section must be specified in config file
ERROR: failed to post process the configuration
ERROR: FPM initialization failed
solution: cp www.conf.default www.conf

MySQL

yum安裝

參考 https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/#repo-qg-yum-fresh-install

下載安裝包

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

配置yum源(Adding the MySQL Yum Repository)

sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpm

安裝

sudo yum install mysql-community-server

啟動MySQL

sudo systemctl start mysqld.service

查看MySQL狀態(tài)

sudo systemctl status mysqld.service

查看默認(rèn)的臨時密碼

sudo grep 'temporary password' /var/log/mysqld.log

用戶登錄,修改密碼

mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

允許用戶遠(yuǎn)程登錄

grant all privileges on *.* to 'user'@'%' identified by 'password' with grant option;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • PD踐行打卡第14天: 今天中午下班回家,孩子在和爺爺下棋,等我吃好飯,他翻開作業(yè)本,遞到我面前,“媽媽,給你看我...
    冰糖誠閱讀 113評論 0 0
  • 丁娜打卡day3:昨晚?xiàng)?點(diǎn)睡覺,可到9:30還沒睡覺,說:媽媽我睡不著,我說你怎么啦,他說想我陪睡,我跟他說:為...
    沈小丁子閱讀 126評論 0 0
  • 我讀顧城《沒有注滿的桶》 1 幸運(yùn)的就是這首詩我們尚且都能夠讀懂。有人把顧城的詩按時間順序劃分為四個階段...
    皮日休的箬笠閱讀 719評論 0 0

友情鏈接更多精彩內(nèi)容