安装虚拟机
下载Centos镜像和VirtualBox,之后启动安装
安装后设置
网络设置
安装完执行ifconfig是无法执行的,因为安装的镜像是最小安装,因此需要手动进行设置
首先执行ip addr,查看本机的网卡信息,接着执行
vi /etc/sysconfig/network-scripts/ifcfg-xxx
# xxx 为上面找到的网卡
修改其中的ONBOOT修改为YES,之后重启
service network restart
接着安装net-tools
yum install net-tools
之后就可以使用ifconig命令了
替换默认源
安装必要软件
yum install wget vim
进行备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下载对应版本repo文件, 放入/etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
运行以下命令生成缓存
yum clean all
yum makecache
Linux常用命令
软件操作命令
- 软件包管理器:yum
- 安装软件:yum install xxx
- 卸载软件: yum remove xxx
- 搜索软件: yum search xxx
- 清理缓存: yum clean packages
- 列出已安装: yum list
- 软件包信息:yum info xxx
服务器硬件资源信息
- 内存:free -m
- 硬盘: df -h
- 负载: w/top
- CPU: cat /proc/cpuinfo
文件操作命令
Linux文件目录结构
- 根目录: /
- 家目录: /home
- 临时目录:/tmp
- 配置目录: /etc
- 用户程序目录: /usr
文件操作基本命令
- 查看目录下的文件: ls
- 新建文件: touch
- 新建文件夹: mkdir
- 进入目录: cd
- 删除文件: rm
- 删除文件夹: rm -rf
- 复制: cp
- 移动: mv
- 显示路径: pwd
VIM常用操作
- 移到行首: G
- 移到行尾: gg
- 删除当前行: dd
- 恢复删除:u
- 复制当前行: yy
- 粘贴: p
- 进入插入模式: i
- 退出模式: esc
文件搜索、查找、读取
- 从文件尾部开始读取: tail
- 从文件头部度:head
- 读取整个文件:cat
- 分页读取:more
- 可控分页: less
- 搜索关键字: grep
- 查找文件: find
- 统计个数:wc
文件解压缩
文件解压缩主要使用的是tar命令
创建一个压缩文件
tar -cd xxxxx.tar 包含的文件 包含的文件
查看压缩文件中的文件列表
tar tf xxx.tar
解压文件
tar -xf xxx.tar
系统用户操作命令
- 添加用户: useradd xxx
- 添加用户:adduser xxx
- 删除用户: userdel -r xxx
- 设置密码: passwd xxx
防火墙设置
- 安装防火墙: yum install firewalld
- 启动: service firewalld start
- 检查状态: service firewalld status
- 关闭或禁用: service firewalld stop/disable
- 添加一个服务: firewall-cmd –add-service=xxx
- 移除一个服务: firewall-cmd –remove-service=xxx
提权和文件下载和上传
提权
首先将账号加入到可提权账号列表中
visudo
# 然后在文件尾部加上
%用户名 ALL(ALL) ALL
然后就能进行提权了
sudo yum install vim
文件下载
直接使用wget即可
文件上传
# 将文件上传到服务器地址
scp 文件 用户名@主机地址:文件保存路径
# 将服务器上的文件下载到本地
scp 用户名@主机地址:文件保存路径 本地路径
在windows中使用xshell进行文件上传和下载
在服务器中安装
yum install lrzsz
上传
rz
下载
sz 文件名
WebServer安装和配置讲解
Apache的基本操作
Apache的安装
- 安装:yum install httpd
- 启动: service httpd start
- 停止: service httpd stop
当启动后,由于防火墙的关系无法访问,因此需要店家规则或者关闭防火墙
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
Apache的虚拟主机配置
编辑配置文件
vim /etc/httpd/conf/httpd.conf
在其中写上虚拟主机的配置
<VirtualHost *:80>
ServerName www.test.com
DocumentRoot /data/www
<Directory "/data/www">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
然后在网站路径上创建网页,并在机器上配置host
如果上述配置完成后无法访问,则需要
setenforce 0
配置Apache伪静态
在配置文件中加入
LoadModule rewrite_module modules/mod_rewrite.so
在配置虚拟主机处加入
<VirtualHost *:80>
ServerName www.test.com
DocumentRoot /data/www
<Directory "/data/www">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*).php$ index.html
</IfModule>
</Directory>
</VirtualHost>
重启服务器,这样访问类似于http://www.demo.com/2.php也为跳转到首页
Nginx基本操作
Nginx的安装
- 安装:yum install nginx
- 启动: service nginx start
- 停止: service nginx stop
- 重载: service nginx reload
在Nginx安装前需要添加yum的资源库
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
然后执行
yum install nginx
nginx站点配置
在/etc/nginx/conf.d下面拷贝一份default.conf为demo.conf作为自定义站点的配置文件, 在其中配置
server {
listen 80;
# 可以进行多端口配置,只需要在下面再加一个listen即可
# listen 9000;
# 也可以进行多域名,只要在后面再加入即可
server_name www.demo.com;
location / {
root /data/www;
index index.html index.htm;
}
}
nginx伪静态配置
nginx中配置伪静态比较简单只需要在配置文件中加入
server {
listen 80;
server_name www.demo.com;
location / {
root /data/www;
index index.html index.htm;
rewrite ^(.*)\.php$ /index.html;
}
}
### nginx反向代理
nginx反向代理只要加入proxy_pass即可
```shell
server {
listen 80;
server_name www.demo.com;
location / {
root /data/www;
index index.html index.htm;
proxy_pass http://blog.jiangyixin.top;
}
<div class="se-preview-section-delimiter"></div>
这样就能自动代理到http://blog.jiangyixin.top了
nginx负载均衡
upstream myblog {
server 151.101.77.147:80 weight=6;
server 151.101.77.146:80 weight=2;
# 可以在这里配置多个server来达到负载均衡的效果
# weight值越高,该服务器被访问的概率越高
}
server {
listen 80;
server_name www.demo.com;
location / {
root /data/www;
index index.html index.htm;
proxy_pass http://myblog;
}
<div class="se-preview-section-delimiter"></div>
数据库服务
Mysql安装与连接
Mysql的基本操作
- 安装: yum install mysql-community-server
- 启动:service mysqld start/restart
- 停止: service mysqld stop
Mysql安装
Centos默认安装了mariadb,因此需要先进行卸载
yum removwe mariadb-libs.x86_64
<div class="se-preview-section-delimiter"></div>
下载Mysql源
https://dev.mysql.com/downloads/repo/yum/
安装Mysql源
yum localinstall mysql57-community-release-el7-11.noarch.rpm
<div class="se-preview-section-delimiter"></div>
安装Mysql
yum install mysql-community-server
<div class="se-preview-section-delimiter"></div>
查看Mysql密码
cat /var/log/mysqld.log | grep password
<div class="se-preview-section-delimiter"></div>
重新设置Mysql密码
<div class="se-preview-section-delimiter"></div>
# 如果要设置简单密码需要设置以下参数
set global validate_password_policy=0;
set global validate_password_length=1;
<div class="se-preview-section-delimiter"></div>
# 重设密码
SET PASSWORD = PASSWORD('root')
<div class="se-preview-section-delimiter"></div>
远程连接
如果需要远程连接Mysql需要进行一些设置
修改连接用户的HOST
update user set host='%' where user='root' and host='localhost';
<div class="se-preview-section-delimiter"></div>
# 修改完成后刷新权限
flush privileges;
<div class="se-preview-section-delimiter"></div>
开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
<div class="se-preview-section-delimiter"></div>
# 刷新防火墙配置
firewall-cmd --reload
<div class="se-preview-section-delimiter"></div>
缓存服务
Memcached基本操作
- 安装:yum install memcached
- 启动:memcached -d -l -m -p
- 停止: kill pid
Redis基本操作
- 安装: 源码编译安装
- 启动: redis-server start/restart
- 停止: redis-server stop
- 客户端: redis-client
wget http://download.redis.io/releases/redis-4.0.6.tar.gz
tar xzf redis-4.0.6.tar.gz
cd redis-4.0.6
yum insatll gcc
make MALLOC=libc
make install
src/redis-server
<div class="se-preview-section-delimiter"></div>
PHP环境配置
PHP基础环境配置
PHP安装
配置源
rpm -Uvh http://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh http://mirror.webtatic.com/yum/el7/webtatic-release.rpm
<div class="se-preview-section-delimiter"></div>
安装fpm
yum install php56w-fpm
<div class="se-preview-section-delimiter"></div>
安装PHP扩展
yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 php56w-intl.x86_64 php56w-xsl.x86_64
<div class="se-preview-section-delimiter"></div>
启动
service php-fpm start
<div class="se-preview-section-delimiter"></div>
Laravel5环境配置
安装Composer
curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer
<div class="se-preview-section-delimiter"></div>
安装Laravel安装器
composer global require "laravel/installer=~1.1"
<div class="se-preview-section-delimiter"></div>
编写nginx配置文件
server {
listen 80;
server_name laravel.test.com;
root /data/www/demo_laravel/public;
index index.php index.html;
access_log /var/log/nginx/laravel.log main;
location / {
try_files $uri/ $uri/index.php?$args;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
<div class="se-preview-section-delimiter"></div>
进入项目根目录运行
composer install
php artisan key:generate
<div class="se-preview-section-delimiter"></div>
授予权限
chmod -R 777 storage/framework/
chomd -R 777 storage/logs/
<div class="se-preview-section-delimiter"></div>
Yii2环境配置
编写配置文件
server {
listen 80;
server_name yii.jiangyx.com;
root /data/www/demo_yii2/web;
index index.php index.html;
access_log /var/log/nginx/yii2.log main;
location / {
try_files $uri/ $uri/index.php?$args;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
<div class="se-preview-section-delimiter"></div>
赋予权限
chmod -R 777 runtime
chmod -R 777 web/assets/
<div class="se-preview-section-delimiter"></div>
TP5环境配置
编写配置文件
server {
listen 80;
server_name tp.jiangyx.com;
root /data/www/demo_tp/public;
index index.php index.html;
access_log /var/log/nginx/yii2.log main;
location / {
try_files $uri/ $uri/index.php?$args;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
<div class="se-preview-section-delimiter"></div>
Java运行环境配置
JDK安装
sudo yum install java-1.8.0-openjdk*
<div class="se-preview-section-delimiter"></div>
tomact安装
官网下载解压即可
maven安装
官网解压即可
<div class="se-preview-section-delimiter"></div>
# 做一个软链
ln -s /maven/bin/mvn /usr/bin/mvn
<div class="se-preview-section-delimiter"></div>
Python运行环境
Python安装
下载的就是源码包
tar -xvzf Python-3.5.1.tgz
cd Python-3.5.1/
./configure --prefix=/usr/python
yum install zlib zlib-devel
make
make install
替换原有的Python2
mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/python/bin/python3 /usr/bin/python
<div class="se-preview-section-delimiter"></div>
也可以通过一键安装脚本来进行安装
wget https://raw.githubusercontent.com/LunacyZeus/Python3.6-for-Centos7.0/master/install.sh && sh install.sh
<div class="se-preview-section-delimiter"></div>
virtualenv安装
pip install virtualenv
virtualenv blog
<div class="se-preview-section-delimiter"></div>
pip换成豆瓣源
mkdir ~/.pip
vim ~/.pip/pip.conf
[global]
timeout=60
index-url=https://pypi.douban.com/simple
<div class="se-preview-section-delimiter"></div>
创建虚拟环境和激活
virtualenv blog
source blog/bin/activate
<div class="se-preview-section-delimiter"></div>
服务管理
Crontab定时任务
*/30 * * * * ntpdate cn.pool.ntp.org
<div class="se-preview-section-delimiter"></div>
Ntpdate时间校准
ntpdate cn.pool.ntp.org