LNMP環境的搭建(yum)方法(精)

第一 先安裝nginxphp

nginx在官方CentOS社區yum裏面沒有,須要在nginx的官方網站去下載yum的配置文件html

官方:https://www.nginx.com/resources/wiki/start/topics/tutorials/install/mysql

配置文件/etc/yum.repos.d/nginx.repo(還有一種,官方作了rpm的nginx yum repo,安裝rpm,就會在/etc/yum.repo.d/目錄下生產文件)linux

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/         $releasever 是linux 的版本號centos 7
gpgcheck=0
enabled=1

配置後查看 yum list nginx  ,就會發現有了nginx,而後咱們就能夠安裝了。nginx

yum install nginx

看到nginx安裝成功,就是啓動它了, which nginx (rpm -ql nginx)能夠看它的目錄redis

/etc/init.d/nginx start             //CentOS6     
 
/bin/systemctl start nginx         //CentOS7

//還能夠在目錄文件中啓動
//加入開機啓動之後研究

驗證:輸入ip地址查看默認網頁sql

參考查看 : http://www.javashuo.com/article/p-rdpqdwkh-ba.html數據庫

 

 

第二 安裝 phpapache

(我是感受安裝php會一塊安裝依賴把(apache)httpd也安裝上去,可是單純安裝(apache)httpd,再安裝php須要配置apache的配置文件支持php擴展)centos

以下:

編輯 /usr/local/apache2/conf/httpd.conf 文件時要注意:         

找到:    
AddType  application/x-compress .Z    
AddType application/x-gzip .gz .tgz    
在後面添加:    
AddType application/x-httpd-php .php(使Apcche支持PHP)    
AddType application/x-httpd-php-source .php5       

找到:    <IfModule dir_module>    DirectoryIndex index.html    </IfModule>    
添加:    <IfModule dir_module>    DirectoryIndex index.html index.php    </IfModule>        

找到:    #ServerName www.example.com:80    
修改成:  ServerName 127.0.0.1:80或者ServerName localhost:80    記得要去掉前面的「#」  


修改默認的Web站點目錄

找到:DocumentRoot "/usr/local/apache2/htdocs"
修改成:DocumentRoot "/home/www/WebSite" --該目錄爲本身建立的目錄
 
找到:<Directory "/usr/local/apache2/htdocs"> 
修改成:<Directory "/home/www/WebSite">

直接安裝php這個配置能夠不看

------

查看  yum list php  php-fmp

這裏爲啥要安裝php-fpm,由於php-fpm,是nginx和php的橋樑,php-fpm(快速進程管理),php-fpm默認進程爲127.0.0.1:9000,一會php和php-fpm安裝完成後,要配置nginx的配置文件,讓其遇到客戶端php請求是,轉發給php-fpm(127.0.0.1:9000),php-fpm再讓php解析完成,最後又給nginx.

安裝:

yum install -y php php-fpm
yum install php php-pear php-devel httpd //可選,參數更新中 php-pear爲php的擴展工具,安裝後能夠用pecl install 命令安裝php擴展 

 

安裝成功後,而後在配置nginx的配置文件,讓它遇到php的時候轉發給php-fpm

    location ~ \.php$ {
        root           /usr/share/nginx/html;    //這個地方要改下下
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;  // /script要改爲 $document_root 及/usr/share/nginx/html路徑,後面是文件名,就是這個絕對路徑的文件名給php-fpm
        include        fastcgi_params;
    }

而後重啓nginx ,啓動 php-fpm 後用phpinfo()測試.

//CentOS7

/bin/systemctl restart nginx
/bin/systemctl start php-fpm

//CentOS6
/etc/init.d/nginx restart
/etc/init.d/php-fpm start

此時 nginx 和php 已經安裝成功,可是php還不能鏈接mysql,先別急日後看.

 

注:php7的安裝方法:

http://www.cnblogs.com/fps2tao/p/7577544.html

 

第三  安裝mysql

由於CentOS7如今已經 不支持 mysql了,取而代之的是mariadb.因此mysql 的yum repo,要在官網獲取.

網址 :https://dev.mysql.com/downloads/repo/yum/

安裝一個適合本身系統的mysql,下載的是rpm包,安裝後會在/etc/yum.repos.d/下面創建msyql的repo.( mysql-community.repo)

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

更新一下本地的yum庫

yum clean
yum makecache

安裝

yum install mysql mysql-server php-mysql

php-mysql是php鏈接數據庫的插件,否則php沒有鏈接mysql的接口(msyql能夠正常啓動也沒辦法)。

安裝完成後啓動

#systemctl start mysqld

安裝完成以後會自動在log中生成鏈接的密碼

查看密碼:

[root@mysqlA ~]# cat /var/log/mysqld.log |grep password
2016-08-23T02:33:48.872073Z 1 [Note] A temporary password isgenerated for root@localhost: %IrczkB+J7Ez

你必須從新設置密碼才能執行語句

[root@mysqlA ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.14
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

 

修改密碼~

這個安裝後不用配置,直接重啓php-fpm.

測試

 

擴展內容:mysql 密碼修改

 https://www.cnblogs.com/fps2tao/p/9950989.html

ALTER user 'root'@'localhost' IDENTIFIED BY 'L123#@'

 

其實想要重置 5.7 的密碼很簡單,就一層窗戶紙:

一、修改/etc/my.cnf,在 [mysqld] 小節下添加一行:skip-grant-tables=1

這一行配置讓 mysqld 啓動時不對密碼進行驗證

二、重啓mysqld 服務:systemctl restart mysqld

三、使用 root 用戶登陸到 mysql:mysql -uroot 

四、切換到mysql數據庫,更新 user 表:

update user set authentication_string = password('123456'),password_expired = 'N', password_last_changed = now() where user = 'root';

在以前的版本中,密碼字段的字段名是 password,5.7版本改成了 authentication_string

 在修改了密碼後  刷新一下緩存

flush privileges;

五、退出 mysql,編輯 /etc/my.cnf 文件,刪除 skip-grant-tables=1的內容

六、重啓mysqld 服務,再用新密碼登陸便可

否則 下面這些遠程和 更改密碼的sql 都不能運行

mysql> -- 下面咱們另外添加一個新的 root 用戶, 密碼爲空, 只容許 192.168.1.100 鏈接

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.100' IDENTIFIED BY '' WITH GRANT OPTION;
mysql> flush privileges;
mysql> update user set password=PASSWORD('123456') where user='root';
mysql> flush privileges;

 

 mysql 8 用phpmyadmin登陸失敗的問題 : http://www.javashuo.com/article/p-cenqsqlk-bk.html 

 

一個服務器安裝的例子,nginx,php,mysql,redis

https://blog.csdn.net/qq_26245325/article/details/78916178

相關文章
相關標籤/搜索