Nginx
安装Nginx
1 | $ sudo apt update |
访问你的主机IPhttp://server_domain_or_IP
如果出现”Welcome to nginx”字样则证明安装成功.
给html目录赋予nginx读写权限:chown www-data.www-data -R /home/www/html
注意:不要把项目的目录设置到
/root
目录下,否则会出现各种莫名其妙的问题。
Ubuntu18.0 默认安装的NGINX版本是1.14.0
安装最新稳定版NGINX
1.下载nginx_signing.key
1 | wget http://nginx.org/keys/nginx_signing.key |
2.对于Ubuntu,将codename替换为Ubuntu分发代号(ubuntu 18.04代号是bionic),并将以下代码附加到/etc/apt/sources.list
文件末尾:
1 | deb http://nginx.org/packages/ubuntu/ codename nginx |
3.然后运行以下命令:
1 | apt-get update |
MySQL
安装MySQL$ sudo apt -y install mysql-server
如果是ubuntu20.04系统,上面的命令安装的MySQL版本是8.0
mysql5.7 虽然设置了密码,但是直接回车就能登录解决方法:
1 | sudo mysql |
如果不是root用户安装的mysql,那么
mysql -uroot -p
会报错:ERROR 1698 (28000): Access denied for user 'root'@'localhost'
使用:sudo mysql -u root
即可
PHP 7
安装php7.0$ sudo apt -y install php7.0-fpm php-mysql php-gd php-xml php7.0-mbstring php7.0-mcrypt
PHP fix_pathinfo 潜在安全漏洞修复,在/etc/php/7.0/fpm/php.ini
中找到;cgi.fix_pathinfo=1
改为cgi.fix_pathinfo=0
重启 php
$ systemctl restart php7.0-fpm
或者service php7.0-fpm restart
在/etc/nginx/sites-available/default
中添加配置
1 | server { |
重启Nginx$ systemctl restart nginx
或者service nginx restart
测试PHP是否已完成安装配置,编辑/var/www/html/info.php
$ vi /var/www/html/info.php
添加内容
1 |
|
然后访问http://server_domain_or_IP/info.php
出现php版本信息则安装配置成功
安装最新版PHPsudo apt-get -y install php
可选php扩展:sudo apt-get -y install php-fpm php-mysql php-curl php-gd php-intl php-pear php-imagick php-imap php-memcache php-pspell php-sqlite3 php-tidy php-xmlrpc php-mbstring
安裝php拓展的時候遇到這個錯,原因是安裝了apache2的包,但是我的服務器用的是nginx。
NOTICE: Not enabling PHP 7.4 FPM by default.
NOTICE: To enable PHP 7.4 FPM in Apache2 do:
NOTICE: a2enmod proxy_fcgi setenvif
NOTICE: a2enconf php7.4-fpm
NOTICE: You are seeing this message because you have apache2 package installed.
Setting up php7.4-zip (7.4.4-1+ubuntu16.04.1+deb.sury.org+1) …
解決方法:
卸載apache相關的東西。
1 | sudo apt-get purge apache2 |
然后再次安裝所需要的拓展就行了。
Ubuntu20.04上,
apt install php
默认安装的是php7.4。
Redis
安装redissudo apt install redis-server
安装php的redis扩展sudo apt-get install php-redis
然后重启nginx和php-fpm
安装Redis后,发现无法启动,报错误:
Job for redis-server.service failed because a timeout was exceeded.
执行service redis-server status
,有一行:
Failed to start Advanced key-value store.
查看日志,发现报错: cannot assign address
这是由于主机上禁用了IPv6,而Ubuntu的redis-server软件包(版本 5:4.0.9-1)附带了:绑定127.0.0.1 :: 1
编辑redis.conf:sudo vim /etc/redis/redis.conf
把bind 127.0.0.1 :: 1
改成bind 127.0.0.1
重启redis-server即可.
安装最新版Redis
ubuntu 18.04 默认安装的Redis版本是3.1.6,如果要安装最新版
首先安装依赖:apt-get install software-properties-common -y
使用如下命令添加 Redis 源:add-apt-repository ppa:chris-lea/redis-server -y
使用如下命令安装 Redis:apt-get update && apt-get install redis-server -y
通过以上命令便可安装最新版 Redis ,终端中输入以下命令查询 Redis 版本:redis-server -v
如果安装了Redis5.0以上版本,并且要使用Stream功能的话,php-redis也要安装最新版本才行,通过apt-get install php-redis
安装的版本太低,要使用pecl install redis
才能安装最新版,如果报错【phpize: not found】,则需要先执行apt-get install php7.x-dev
。
默认redis是不允许远程登录的,需要我们配置
编辑redis配置文件:sudo nano /etc/redis/redis.conf
注释掉这一行:bind 127.0.0.1
设置连接密码:requirepass 123456
修改完重启下redis:sudo service redis-server restart
使用命令行远程连接:redis-cli -h 127.0.0.1 -p 6379 -a 123456
安装composer
全局安装:curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
改为阿里巴巴的镜像(全局配置):composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
取消配置:composer config -g --unset repos.packagist
使用phpMyAdmin管理MySQL
安装phpMyAdmin
1 | $ apt update |
创建链接$ ln -s /usr/share/phpmyadmin/ /var/www/html/
重启Nginx$ systemctl restart nginx
访问http://server_domain_or_IP/phpmyadmin
注:phpmyadmin 这么安装不是最新版,没有json数据类型的选项,还是在官网直接下载最新版,解压到www目录比较好。
修改MySQL、SSH端口号
打开文件/etc/mysql/mysql.conf.d/mysqld.cnf
,修改port值,service mysql restart
打开文件/etc/ssh/sshd_config
,修改Port值,service ssh restart
ssh打开终端ssh -p XX root@XXX.XXX.XXX.XXX
Ubuntu18.04 启动root账号并授权远程登录
Ubuntu18.04安装完成后默认不启动root账号,这使得远程管理很不方便,需要手动开启一下。
1.如果没有安装ssh, 需要安装一下哈sudo apt install openssh-server
2.sudo passwd root
3.sudo vim /etc/ssh/sshd_config
PermitRootLogin prohibit-password
改成PermitRootLogin yes
4.sudo systemctl restart sshd
5.云主机防火墙界面开启对应ssh端口。
大功告成啦!