linux部署lnmp環(huán)境

檢查是否安裝該程序:

which nginx           #查看nginx是否存在
which php             #查看php是否存在
which mysql          #查看mysql是否存在

Nginx安裝

yum list nginx             #列出nginx
yum install nginx        #安裝nginx

看見{Complete! } 安裝成功班缰。
安裝完nginx之后訪問(wèn)本機(jī)ip承边,結(jié)果直接報(bào)錯(cuò)脓鹃,然后去查看var目錄下查看nginx錯(cuò)誤日志廊谓,看到如下錯(cuò)誤信息闺骚,意思是html下面沒(méi)有

directory index of "/usr/share/nginx/html/" is forbidden

如果在/usr/share/nginx/html下面沒(méi)有index.php,index.html的時(shí)候彩扔,直接訪問(wèn)域名,找不到文件僻爽,會(huì)報(bào)403 forbidden虫碉。
解決辦法:直接輸入以下命令:

#刪除index.html文件
rm /usr/share/nginx/html/index.html
#在 /usr/share/nginx/html目錄下面新建一個(gè)index.php文件,內(nèi)容是
<?php
      phpinfo(); 
?>

還有一個(gè)原因就是你的默認(rèn)的nginx配置文件的location沒(méi)有指定root路徑进泼,我的就是這個(gè)問(wèn)題蔗衡,這個(gè)就直接在默認(rèn)的 /etc/nginx/nginx.conf 內(nèi)容里的 server上面加上:

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

如果還是不能正常訪問(wèn),那就進(jìn)到nginx的默認(rèn)配置文件里去找一下乳绕,看看有沒(mé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;
}

上面代碼的意思是把php文件交給php-fpm處理绞惦,php-fpm占用的端口號(hào)是9000。

nginx隱藏入庫(kù)文件

nignx/conf下有vhosts.conf這個(gè)文件的話洋措,在這個(gè)文件里配置济蝉,當(dāng)有這個(gè)文件的時(shí)候,在nginx.conf里配置是不起作用的菠发。沒(méi)有的話就在nginx.conf文件配置.
注意:nginx隱藏入口文件王滤,找到nginxvhost文件,在server 里加入如下:

location / {
   if (!-e $request_filename) {
        rewrite  ^(.*)$  /index.php?s=/$1  last;
    }
}

就Ok了滓鸠。
配置完以后雁乡,記得重啟nginx,或者reload一下:
重啟nginx:

nginx -s stop
nginx
或者
nginx -s reopen

下面是重新加載nginx的配置文件(推薦這種方式):

service nginx reload

找到nginx的安裝目錄:

[root@localhost nginx]# which nginx
/usr/sbin/nginx             #這個(gè)是yum安裝后默認(rèn)所在位置

查看nginx的命令提示:

[root@localhost nginx]# nginx -h
nginx version: nginx/1.10.2
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
  -?,-h         : this help
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -T            : test configuration, dump it and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /usr/share/nginx/)
  -c filename   : set configuration file (default: /etc/nginx/nginx.conf)
  -g directives : set global directives out of configuration file

啟動(dòng) Nginx
which nginx #查看nginx是否存在
service nginx start #啟動(dòng)nginx進(jìn)程方法[1]
/etc/init.d/nginx start #啟動(dòng)nginx進(jìn)程方法[2]
ps -ef | grep nginx #查看nginx進(jìn)程
ps -le #查看nginx進(jìn)程
ifconfig #查看網(wǎng)卡信息
打開瀏覽器:http://182.92.73.109/
看到 { 歡迎界面 } 說(shuō)明安裝成功!
注意:ip訪問(wèn)糜俗,這里的ip是公網(wǎng)ip

Php安裝

查看php使用的php.ini文件的位置踱稍,使用的命令是php -i |grep php.ini(非常好用的一條命令)

yum list php php-fpm              #列出php 和php-fpm 是否存在
yum -y install php php-fpm     #安裝php 和php-fpm軟件包

看見{Complete! } 安裝成功。
啟動(dòng)php-fpm:

service php-fpm start   // 1.啟動(dòng)php-fpm
/bin/systemctl start php-fpm.service  // 2.啟動(dòng)php-fpm

--php擴(kuò)展安裝
如:

yum list php-gd  
yum install php-gd 

redis安裝

yum list redis
yum install redis

php擴(kuò)展安裝完成后悠抹,重啟php-fpm

// 重啟php-fpm
/bin/systemctl restart php-fpm.service
// 啟動(dòng)redis
/bin/systemctl restart redis.service
// 查看redis進(jìn)程
ps -le | grep redis

注意:redis如果需要守護(hù)進(jìn)程啟動(dòng)珠月,需要再redis.conf配置文件128行

daemonize no // 將 no 改成 yes

將 no 改成 yes,然后進(jìn)入 /usr//bin 系統(tǒng)用戶使用的應(yīng)用程序下楔敌,找到 redis-cli 啟動(dòng)

/usr/bin/redis-cli
[root@VM_0_6_centos bin]# redis-cli
127.0.0.1:6379>

出現(xiàn)此則成功了啤挎,進(jìn)行set name xiaochi 設(shè)置 ok ,然后 get name,獲取成功

Mysql安裝

yum list mysql mysql-server            #搜索mysql數(shù)據(jù)包
yum -y install mysql mysql-server    #不需要提示安裝

看見{Complete! } 安裝成功。如果出現(xiàn) No package mysql-server available錯(cuò)誤卵凑,是因?yàn)槲覀儽镜貀um倉(cāng)庫(kù)中沒(méi)有可用的mysql-server rpm包庆聘,解決:

// 在Centos 7上使用
rpm -ivh https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
// Centos 6上安裝mysql rpm包
rpm -ivh https://repo.mysql.com//mysql57-community-release-el6-11.noarch.rpm

rpm軟件包安裝好之后,我們就可以使用 yum install mysql-server 命令來(lái)安裝mysql了勺卢。
查看mysql mysql-server是否存在:

which mysql                   #查看mysql是否存在

驗(yàn)證mysql是否啟動(dòng)成功命令伙判,使用netstat命令

    netstat -nap |grep 3306
    tcp   0   0 0.0.0.0:3306   0.0.0.0:*    LISTEN    4571/mysqld

啟動(dòng)mysql

    service mysqld start      #啟動(dòng)mysql

最后需要查看mysql5.7的初始化密碼(如果是mysql5.6的話默認(rèn)密碼應(yīng)該為空,不需要此命令查詢)

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

輸出類似如下的隨機(jī)密碼:

2017-11-08T16:24:46.311098Z 1 [Note] A temporary password is generated for [root@localhost](mailto:root@localhost): MtPqF0/oN5zoSfdff

MtPqF0/oN5zoSfdff是就是初始密碼
然后輸入mysql -uroot -p命令登錄mysql服務(wù)器值漫,并修改mysql初始化密碼澳腹。

//輸入初始化密碼登錄之后织盼,重新設(shè)置mysql密碼
mysql> set password for root@localhost = password('123456');
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

這時(shí)會(huì)報(bào)錯(cuò),因?yàn)闉榱思訌?qiáng)安全性酱塔,MySQL5.7為root用戶隨機(jī)生成了一個(gè)密碼沥邻,在error log中,關(guān)于error log的位置羊娃,如果安裝的是RPM包唐全,則默認(rèn)是/var/log/mysqld.log。一般可通過(guò)log_error設(shè)置
設(shè)置密碼的格式蕊玷,必須有數(shù)字邮利,字母,特殊符號(hào)垃帅,所以需要為了方便設(shè)置密碼123456延届,需要進(jìn)行如下設(shè)置

  mysql> set global validate_password_policy=0;
  mysql> set global validate_password_length=1;
  mysql> set global validate_password_mixed_case_count=2;

然后再進(jìn)行設(shè)置密碼

  mysql> set password for root@localhost = password('123456');

ok了,quit退出mysql贸诚。
然后進(jìn)行測(cè)試方庭,進(jìn)入到 usr/share/nginx/html 目錄下,找到index.php并輸入

  $link = mysqli_connect('localhost','root','123456','test');
  if($link){
       echo 'ok';
  }else{
       echo 'error';
  }

注意:先 cd usr/bin 訪問(wèn)系統(tǒng)用戶應(yīng)用程序目錄酱固,進(jìn)入登陸 mysql -uroot -p 進(jìn)入 mysql 查看 show databases 是否有 test 這個(gè)數(shù)據(jù)庫(kù)械念,沒(méi)有則創(chuàng)建(create database test)
在訪問(wèn)當(dāng)前騰訊云服務(wù)器 公ip,地址欄輸入 http://118.24.188.68/运悲,輸出ok龄减,表示成功鏈接Mysql。
Ctrl-C -- exit! #退出終端
*注意:遠(yuǎn)程連接失敗問(wèn)題班眯,如navicat連接失敗
先運(yùn)行命令

mysql -uroot -p  // 登陸mysql
use mysql; // 選擇mysql數(shù)據(jù)庫(kù)
select host,user from user;// 查看用戶權(quán)限

1.運(yùn)行如下命令希停,賦與遠(yuǎn)程連接權(quán)限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

2.刷新一下

flush privileges;

如果此時(shí)還解決不了,就需要找到mysql配置my.ini文件鳖敷,運(yùn)行如下

bind-address = 127.0.0.1 改成 bind-address = 0.0.0.0

然后脖苏,重載配置程拭、重啟服務(wù)定踱,就ok了。

phpMyAdmin安裝

yum install phpMyAdmin

看見{Complete! } 安裝成功恃鞋。接著 cd /usr/share/ 目錄下崖媚,將 phpMyAdmin 目錄復(fù)制一份到 nginx 服務(wù)器 web 目錄下,

cp -r phpMyAdmin ./nginx/html/

我這里 web 目錄是 /usr/share/nginx/html/ 恤浪,然后找到 cd /etc/phpMyAdmin/ 目錄下的config.inc.php 進(jìn)行如下編輯

$cfg['blowfish_secret'] = 'xiaochi',// 隨便設(shè)置,只是一個(gè)短語(yǔ)密碼
$cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP address
$cfg['Servers'][$i]['port'] = '3306'; 
$cfg['Servers'][$i]['auth_type'] = 'cookie';// cookie表示每次都要輸入用戶密碼畅哑,linux下不能用 config,不然誰(shuí)都能直接訪問(wèn)
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '*************';    //數(shù)據(jù)庫(kù)密碼
$cfg['Servers'][$i]['extension'] = 'mysql';

然后重啟 php-fpm水由、mysqld

 service php-fpm reload
 service mysqld reload

然后 地址欄輸入:http://公網(wǎng)ip/phpMyAdmin/
此時(shí)荠呐,訪問(wèn)時(shí)可能會(huì)報(bào)錯(cuò) mb_string is missing。 然后安裝 php-mbstring擴(kuò)展:

yum install php-mbstring

然后重啟 php-fpm、mysqld泥张。就ok了呵恢。

linux部署 lnmp 常用命令

yum list | grep php*(#查看所以php安裝包)
yum remove 名稱(卸載,如:yum remove nginx)
ps -le / ps -e(#查看所有進(jìn)程)
ps -le | grep 應(yīng)用程序名稱(如:mysqld媚创、redis) (#查看具體進(jìn)程)
-------如:查看 mysql 進(jìn)程
-------------ps -le | grep mysqld ;// ps -e | grep mysqld也可以

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末渗钉,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子钞钙,更是在濱河造成了極大的恐慌鳄橘,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芒炼,死亡現(xiàn)場(chǎng)離奇詭異瘫怜,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)本刽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門宝磨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人盅安,你說(shuō)我怎么就攤上這事唤锉。” “怎么了别瞭?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵窿祥,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我蝙寨,道長(zhǎng)晒衩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任墙歪,我火速辦了婚禮听系,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘虹菲。我一直安慰自己靠胜,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布毕源。 她就那樣靜靜地躺著浪漠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪霎褐。 梳的紋絲不亂的頭發(fā)上址愿,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音冻璃,去河邊找鬼响谓。 笑死损合,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的娘纷。 我是一名探鬼主播塌忽,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼失驶!你這毒婦竟也來(lái)了土居?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤嬉探,失蹤者是張志新(化名)和其女友劉穎擦耀,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涩堤,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡眷蜓,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了胎围。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吁系。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖白魂,靈堂內(nèi)的尸體忽然破棺而出汽纤,到底是詐尸還是另有隱情,我是刑警寧澤福荸,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布蕴坪,位于F島的核電站,受9級(jí)特大地震影響敬锐,放射性物質(zhì)發(fā)生泄漏背传。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一台夺、第九天 我趴在偏房一處隱蔽的房頂上張望径玖。 院中可真熱鬧,春花似錦颤介、人聲如沸梳星。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)丰泊。三九已至薯定,卻和暖如春始绍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背话侄。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工亏推, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留学赛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓吞杭,卻偏偏與公主長(zhǎng)得像盏浇,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子芽狗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348