ubuntu18 系统下安装LNMP
参考链接
https://blog.csdn.net/Ersan_Yi/article/details/82107552
1、Nginx
# apt-get install nginx
# apt-get install restart
# nginx -v
访问测试:
http://192.168.211.132
# ps -ef | grep nginx
# service nginx restart
# /usr/sbin/nginx -s reload
2、Mysql
# apt-get install mysql-server mysql-client
# mysql -u root -p
创建用用户并授权
> grant all privileges on *.* to 'chenglh'@'%' identified by '123456';
> flush privileges;
远程工具连接不上解决
# vi /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address=127.0.0.1
修改成
bind-address=0.0.0.0
或注释掉
# bind-address=127.0.0.1
重启mysql
# /etc/init.d/mysql restart
# service mysql restart
通道Navicat工具远程连接
帐号:chenglh;密码:123456
[注意:使用新账号chenglh能远程登录,root却不行]
3、PHP7.2安装
# apt-get install php7.2 php7.2-fpm php7.2-mysql
备份配置文件
# cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default-bak
# vi /etc/nginx/sites-available/default
root /var/wwwroot
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# # With php-fpm (or other unix sockets):
# #fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
# # With php-cgi (or other tcp sockets):
fastcgi_pass 127.0.0.1:9000;
}
修改fpm监听
# vi /etc/php/7.2/fpm/pool.d/www.conf
;listen = /run/php/php7.2-fpm.sock
listen = 127.0.0.1:9000
[注意:注释是半角分号]
重启服务
# /usr/sbin/nginx -t
# /usr/sbin/nginx -s reload
# service nginx restart
# service php7.2-fpm stop
# service php7.2-fpm start
测试用例
<?php
echo '<h1>Page loaded with PHP!</h1>';
$conn = mysqli_connect('127.0.0.1', 'chenglh', '123456');
if(!$conn){
die('<h2>Error: </h2>' . mysqli_connect_error());
}else{
echo '<h2>Successfully Connected to MySQL Database!</h2>';
}
?>
4、redis服务安装
# apt-get install redis-server
# redis-server -v
# ps -aux | grep redis
# netstat -nlt | grep 6379
默认自启动
# /etc/init.d/redis-server start
# /etc/init.d/redis-server stop
命令行模式
# redis-cli
5、redis扩展安装
下载扩展包
http://pecl.php.net/package/redis
# wget http://pecl.php.net/get/redis-4.3.0.tgz
# tar -xzvf redis-4.3.0.tgz
# cd redis-4.3.0
# phpize
# ./configure --with-php-config=/usr/bin/php-config7.2
# make && make install
提示扩展存放路径 /usr/lib/php/20170718/
echo "extension=redis.so" >> /etc/php/7.2/fpm/php.ini
[注:如果不知道php.ini在哪,可以用phpinfo();查看]
重启服务
# /usr/sbin/nginx -t
# /usr/sbin/nginx -s reload
# service nginx restart
# service php7.2-fpm stop
# service php7.2-fpm start
如果报错
Command 'phpize' not found, but can be installed with:
apt install php7.2-dev
# apt-get install php7.2-dev
测试用例
<?php
$key = 'name';
$value = "chenglh";
$redis = new Redis();
$redis->pconnect('127.0.0.1', '6379');
$redis->set($key, $value);
echo $redis->get($key);
$redis->close();
?>
6、安装composer
# curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer
$ composer -V
使用root权限会报通知错误信息
7、swoole安装
去官网查看安装方法
# wget http://pecl.php.net/get/swoole-4.3.1.tgz
# tar -zxvf swoole-4.3.1.tgz
# cd swoole-4.3.1
# phpize
# ./configure
# make && make install
echo "extension=swoole.so" >> /etc/php/7.2/fpm/php.ini
8、Memcache安装
# apt-get install memcached
启动
# /etc/init.d/memcached restart 或者
# memcached -d -m 128 -p 11211 -u root
# memcached -V
# ps aux | grep memcached
# kill 2560 杀掉进程号
# telnet 127.0.0.1 11211
如果不通,则是应该没有开启telnet服务
9、安装memcached扩展
官网扩展包
http://pecl.php.net/package/memcached
# wget http://pecl.php.net/get/memcached-3.1.3.tgz
# tar -zxvf memcached-3.1.3.tgz
# cd memcached-3.1.3
# phpize
# ./configure --disable-memcached-sasl
这一步如果报错误信息
checking for pkg-config... no
pkg-config not found
configure: error: memcached support requires ZLIB
configure: error: memcached support requires libmemcached
解决,安装依赖
# apt-get install libmemcached11 libmemcached-dev libmemcachedutil2
{
//如果缺少对应依赖,自己解决
# apt-get install pkg-config
# wget http://www.zlib.net/fossils/zlib-1.2.11.tar.gz
# tar -zxvf zlib-1.2.11.tar.gz
# cd zlib-1.2.11/
# ./configure
# make && make install
}
# make && make install
得到扩展存放路径
/usr/lib/php/20170718/
# ls /usr/lib/php/20170718/
memcached.so
# echo "extension=memcached.so" >> /etc/php/7.2/fpm/php.ini
# /etc/init.d/php7.2-fpm restart