前言
作为开发者,orzlee觉得必须得会搭建开发与生产环境,光靠集成环境是不行的,并不是所有公司都用集成环境。特别是用久了集成环境居然忘了最基本的环境搭建,这可不行。老老实实自己装,虽然麻烦,但是利大于弊。
Nginx
orzlee已经写过一篇关于Ubuntu 安装nginx的文章,这里就不再重复了。
MySql
在Ubuntu环境下,直接使用linux packages安装就好了。
当前最新版为Mysql5.7,推荐安装5.7版本,相对于以往版本添加了新功能:
- 3倍更快的性能
- InnoDB 相关改进
- 新的优化器
- 多源复制
- GIS 相关改进
- 原生 JSON 支持
orzlee觉得最大的亮点就是支持原生JSON。
相关文档
##更新源和升级已安装的库、软件、依赖等等
apt update && apt upgrade
sudo apt install mysql-server-5.7 mysql-client-5.7
在安装途中会要求输入两次密码(第二次是确认密码)。
安装完成之后可以尝试连接mysql:
mysql -uroot -p
然后输入你安装时候的密码。
出现如下界面表示安装完成:
输入exit
退出mysql。
有些情况无法设置mysql密码,并且默认密码为空,这种情况是mysql验证方式问题。
连接mysql查询
select Host,User,plugin from mysql.user where User='root';
一般都是 unix_socket
或者 auth_socket
;
修改密码验证方式
update mysql.user set plugin='mysql_native_password';
修改密码
update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';
刷新权限
flush privileges;
mysql8.0用上面修改密码不好使,使用 caching_sha2_password 加密方式(默认),使用 mysql_native_password 加密方式会出现如下错误!!!
The user specified as a definer ('mysql.infoschema'@'localhost') does not exist
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'very_strong_password';
FLUSH PRIVILEGES;
PHP
安装PHP7.2,也推荐使用linux packages安装,包括之后安装扩展更新等等都可以使用linux packages来安装。
-
首先安装第三方源,添加源过程中会要求按一次回车
sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt update
-
安装PHP7.2
sudo apt install php7.2 php7.2-fpm php -v
-
安装PHP7.2模块
sudo apt install php-pear php7.2-curl php7.2-dev php7.2-gd php7.2-mbstring php7.2-zip php7.2-mysql php7.2-xml sudo service php7.2-fpm restart
如果以后需要安装其他模块也可以直接安装
apt update sudo apt install example-model sudo service php7.2-fpm restart
composer
作为PHP的包管理工具,它对于PHP来说当然必不可少。
sudo apt install curl git zip unzip
cd ~
curl -sS https://getcomposer.org/installer| php
sudo mv composer.phar /usr/local/bin/composer
redis
-
安装编译和测试依赖
sudo apt install build-essential tcl
-
下载redis
创建一个工作目录,下载redis并且解压缩sudo mkdir ~/work cd ~/work curl -O http://download.redis.io/redis-stable.tar.gz tar xzvf redis-stable.tar.gz
-
编译安装
cd redis-stable make make test sudo make install
-
配置redis
-
4.1 创建一个配置文件目录
sudo mkdir /etc/redis
-
4.2 移动示例配置文件到
/etc/redis
。sudo cp ~/work/redis-stable/redis.conf /etc/redis/redis.conf
-
4.3 编辑redis配置文件
sudo nano /etc/redis/redis.conf ## 如果只是希望本地使用,建议去掉#号注释 bind 127.0.0.1 ## 将 supervised no 改为 supervised systemd ## 将 dir 改为 dir /var/lib/redis ##或者你可以选择其他目录
nano保存修改退出
-
保存
Ctrl+o -
确认修改
Enter -
退出
Ctrl+x -
4.4 配置系统单元文件
sudo nano /etc/systemd/system/redis.service
添加如下内容:
[Unit] Description=Redis In-Memory Data Store After=network.target # [Service] User=redis #指定用户 --删除注释 Group=redis ##指定用户组 --删除注释 ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf ExecStop=/usr/local/bin/redis-cli shutdown Restart=always # [Install] WantedBy=multi-user.target
切记删除标记注释,不然无法启动redis
-
4.5 设置redis用户、用户组和目录
sudo adduser --system --group --no-create-home redis sudo mkdir /var/lib/redis # 创建目录 sudo chown redis:redis /var/lib/redis # 设置/var/lib/redis用户和组 sudo chmod 770 /var/lib/redis # 调整权限
-
-
测试redis
-
5.1 启动redis
sudo systemctl start redis
-
5.2 查看状态
systemctl status redis
如果正常会输出:
● redis.service - Redis Server Loaded: loaded (/etc/systemd/system/redis.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2016-05-11 14:38:08 EDT; 1min 43s ago Process: 3115 ExecStop=/usr/local/bin/redis-cli shutdown (code=exited, status=0/SUCCESS) Main PID: 3124 (redis-server) Tasks: 3 (limit: 512) Memory: 864.0K CPU: 179ms CGroup: /system.slice/redis.service └─3124 /usr/local/bin/redis-server 127.0.0.1:6379
-
5.3 测试实例
-
-
开机启动redis
sudo systemctl enable redis
结语
其实虽然手动搭建Web环境略显繁琐,但是每次搭建都会有新收获。熟能生巧,而且在linux上敲命令的感觉真的很爽,如果命令都熟悉了就会觉得超过控制鼠标的输入效率。集成环境解决了一部分问题,但是也带来新的问题,世上的问题都是这样,在解决问题的同时,也会随之出现一个或多个新的问题,只是问题的大小而已。
评论 (0)