安装 openssh-server
然后可以通过XShell访问Linux。也可以通过scp命令上传下载文件
sudo apt-get install openssh-server
安装nginx
sudo apt install nginx
OpenResty是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。目前在京东如实时价格、秒杀、动态服务、单品页、列表页等都在使用Nginx+Lua架构,其他公司如淘宝、去哪儿网等。
安装telnet
telnet测试远程主机端口是否打开
sudo apt install telnet
安装mysql5.7
sudo apt install mysql-server
sudo service mysql start
sudo mysql_secure_installation
运行mysql_secure_installation会执行几个设置:
- a)为root用户设置密码
- b)删除匿名账号
- c)取消root用户远程登录
- d)删除test库和对test库的访问权限
- e)刷新授权表使修改生效
修改root的密码添加skip-grant-tables
>sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
[mysqld]
skip-grant-tables
#修改为256M
max_allowed_packet = 256M
配置后重启MySQL,可以无密码登录
> mysql -u root
mysql> update mysql.user set plugin="mysql_native_password" where user="root";
mysql> set global validate_password_length=5;
mysql> update mysql.user set authentication_string=password('0rb!t') where user='root' and Host = 'localhost';
删除skip-grant-tables重启mysql。
sudo service mysql restart
MySQL允许远程访问的设置
>sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# bind-address = 127.0.0.1
grant all privileges on *.* to 'root'@'%' identified by '0rb!t' with grant option;
navicat过期破解
rm ~/.navicat64/*.reg #不行就删除目录
安装php
sudo apt install -y php-cli php-fpm php-dev libmcrypt-dev php-pear php-mysql php-sqlite3 php-uuid php-zip php-intl php-xml php-zmq php-imagick php-mcrypt php-curl php-bz2 php-memcached php-gd php-mbstring php-bcmath php-redis php-mongodb php-amqp
pecl install mcrypt
ln -s /etc/php/7.2/mods-available/mcrypt.ini /etc/php/7.2/fpm/conf.d/
ln -s /etc/php/7.2/mods-available/mcrypt.ini /etc/php/7.2/cli/conf.d/
为了避免麻烦(懒得高软链接了),我们干脆把站点配置文件都保存到 conf.d 中进行统一管理
sudo cp /etc/nginx/sites-enabled/default /etc/nginx/conf.d/default.conf
sudo rm -rf /etc/nginx/sites-available/
sudo rm -rf /etc/nginx/sites-enabled/
备份默认配置文件
sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.bak
在linux中,nginx服务器和php-fpm可以通过tcp socket和unix socket两种方式实现。
unix socket配置
# vi /etc/php/7.2/fpm/pool.d/www.conf
listen = /var/run/php5-fpm.sock
listen.owner = www-data
listen.group = www-data
如果使用tcp方式访问,上面注释即可,使用下面的
listen = 127.0.0.1:9000
user = www-data
group = www-data
#设置默认启动php-fpm子进程数和最大启动数
pm.max_children = 200
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 30
从5.3.9开始,php官方加入了一个配置"security.limit_extensions",默认状态下只允许执行扩展名为".php"的文件,造成了其他类型的文件不支持的问题
security.limit_extensions=.php .html .js .css .jpg .jpeg .gif .png .htm
启动php-fpm 时提示failed to retrieve TCP_INFO for socket: Protocol not available的问题,修改php-fpm.conf文件,设置 log_level = alert,重启php-fpm 即可
php多版本共存切换
sudo update-alternatives --config php
查看php-fpm tcp端口号
netstat -tln | grep 900*
查看服务列表 +号代表已经启动,-代表没有启动
service --status-all
重启php-fpm服务
service php7.2-fpm restart
查看php-fpm的的文件位置
ps -ef | grep php-fpm.conf
修改默认配置文件,添加php支持
sudo vim /etc/nginx/conf.d/default.conf
重启nginx
sudo service nginx restart
保存配置访问 http://localhost/phpinfo.php , 如果出现 phpinfo 页面,则大功告成。如果启动不了,在 /var/log/nginx/error.log文件查找原因
pkill -9 nginx
查看nginx进程命令
ps -ef | grep nginx
php-fpm默认属于www-data用户组,但是其权限很低,比如不能创建文件夹,所以需要对其授权
sudo chown -R www-data:www-data /data/www
sudo chmod -R 775 /data/www
你可以执行一下下面这条命令,看下你目前的 php-fpm 是用什么身份运行的
ps aux | grep -v root | grep php-fpm | cut -d\ -f1 | sort | uniq
安装Redis
1.安装Redis服务
apt-get install redis-server
2.启动服务
/etc/init.d/redis-server start
3.连接服务
redis-cli
redis-cli -h host -p port -a password
安装php-redis扩展
sudo apt install php-redis
Redis配置远程密码连接
修改redis.conf
Ubuntu中默认的路径是/etc/redis/redis.conf,也可以用whereis redis.conf 直接查找, 注释这一行
bind 127.0.0.1 ::1
修改protected-mode 为no,推荐给 Redis 设置密码,取消注释这一行
protected-mode no
requirepass 0rb!t
0rb!t即当前密码,可以自行修改,然后重启 Redis服务,现在就可以使用密码远程连接 Redis 了
Error while reading line from the server. [tcp://127.0.0.1:6379]
设置read_write_timeout=-1和redis.conf的timeout参数=0。