檢查是否安裝該程序:
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隱藏入口文件王滤,找到
nginx的
vhost文件,在
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也可以