分类目录归档:CentOS

linux红帽分支的一个免费+开源的系统~!

ss 一键安装脚本

Shel代码

#!/bin/bash

cd /usr/local/src

yum -y update
wget -qO- https://raw.githubusercontent.com/v3u3i87/ops/master/gitInstall.sh | bash && source /etc/bashrc && git --version

yum install python-setuptools && easy_install pip
pip install --upgrade pip
pip install git+https://github.com/shadowsocks/shadowsocks.git@master
pip install shadowsocks


#读取外网 IP: curl -s ipecho.net/plain;echo

#多用户配置
touch /etc/shadowsocks.json

tee /etc/shadowsocks.json <<-'EOF'
{
 "server":"0.0.0.0",
 "local_address": "127.0.0.1",
 "local_port":1080,
  "port_password": {
     "9933": "9933##111"
 },
 "timeout":300,
 "method":"aes-256-cfb",
 "fast_open": false
}
EOF

#设置自启
echo -e "/usr/bin/ssserver  -c /etc/shadowsocks.json -d start \n" >> /etc/rc.local

chmod +x /etc/rc.d/rc.local

/usr/bin/ssserver -c /etc/shadowsocks.json -d start

#一行命令执行,需要server可以访问 github

wget -qO- https://raw.githubusercontent.com/v3u3i87/ops/master/ssInstall.sh | bash

关于配置文件 请自行学习

vps test

#硬盘IO及全球下载速度测试

wget -qO- bench.sh | bash

#全国网络测试
wget -N --no-check-certificate https://raw.githubusercontent.com/91yun/91yuntest/master/test_91yun.sh && chmod +x test_91yun.sh && ./test_91yun.sh


#服务器性能测试
wget --no-check-certificate https://github.com/teddysun/across/raw/master/unixbench.sh && chmod +x unixbench.sh && ./unixbench.sh

#Ping值监测小工具
--https://www.zhujiboke.com/2018/02/1265.html
screen -S uping
wget -N --no-check-certificate https://raw.githubusercontent.com/FunctionClub/uPing/master/uping.py
python uping.py


--- mPing一键测试回程Ping值 https://www.zhujiboke.com/2017/12/1171.html
wget https://raw.githubusercontent.com/helloxz/mping/master/mping.sh
bash mping.sh


----SuperSpeed – 一键测试服务器到国内的速度 https://www.zhujiboke.com/2017/09/778.html
wget https://raw.githubusercontent.com/oooldking/script/master/superspeed.sh
chmod +x superspeed.sh
./superspeed.sh


---Ping.pe 延迟稳定性测试工具
http://ping.pe/

linux以密钥登录系统

本次列次全部是xxx,服务端执行权限为root

#本地电脑生成公钥和私钥文件
ssh-keygen -t rsa -C "xxx@email.com" -f "xxxx"

#登录服务器
groupadd xxx
useradd xxx -g xxx
passwd xxx

mkdir -p /home/xxx/.ssh
touch /home/xxx/.ssh/authorized_keys

cd /home/xxx/.ssh/
#写入公钥
vi test

cat test >> /home/xxx/.ssh/authorized_keys

#设置权限
chown -R 0700 /home/xxx/.ssh
chown -R 0644 /home/xxx/.ssh/authorized_keys
chown -R xxx:xxx /home/xxx

#开启SELinux时,还需要执行(root用户把/home改成/root)
restorecon -R -v /home

#设置服务端用户免密码登录
vi /etc/ssh/sshd_config

#禁用root账户登录,如果是用root用户登录请开启
PermitRootLogin no

#是否让 sshd 去检查用户家目录或相关档案的权限数据,
#这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
#例如使用者的 ~.ssh/ 权限设错时,某些特殊情况下会不许用户登入
StrictModes no

#是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
#至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

#有了证书登录了,就禁用密码登录吧,安全要紧
PasswordAuthentication no

#重起ssh服务
systemctl restart sshd.service

#本地mac 远程登录
ssh -i /local/.ssh/mqzhang xxx@ip

搭建git服务端同步部署代码到web目录

本文是在cneots7 下执行,本地是mac os

#在服务器上创建git用户

groupadd git
useradd git -g git
passwd yourpwd

#开放服务端用户免密码登录
vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
#指定公钥存放位置
AuthorizedKeysFile .ssh/authorized_keys

#切换用户 确保执行权限
su git

#创建相关免验证
cd /home/git/
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys

#mac os本地操作

目录下查看, id_rsa 、id_rsa.pub,若没有

cd ~/.ssh

一路回车

ssh-keygen -t rsa

就可以生成文件 id_rsa 、id_rsa.pub

#把id_rsa.pub内容写入到服务端文件authorized_keys
/home/git/.ssh/authorized_keys

#服务端防止git以ssh shell形式登录
vi /etc/passwd
#找到类似下面一行
git:x:1000:1000::/home/git:/bin/bash //原来的
git:x:1000:1000::/home/git:/usr/bin/git-shell //改为现在的

#创建git仓库目录

mkdir -p /home/git/sj/h5.git

#初始化git仓库
git init --bare /home/git/sj/h5.git

#让仓库接收远程提交代码
cd /home/git/sj/h5.git
git config receive.denyCurrentBranch ignore

#赋予写入权限
chmod -R 777 /home/git/sj/h5.git

#创建同步代码脚本
vi /home/git/sj/h5.git/hooks/post-receive


#!/bin/sh echo "=====================start server===========================" unset GIT_DIR DeployPath="/code/h5" cd $DeployPath echo "deploying the test web" git fetch --all git reset --hard origin/dev git stash git pull origin dev time=`date` echo "web server pull at webserver at time: $time." echo "=====================end server==========================="

#设置执行权限
chmod +x /home/git/sj/h5.git/hooks/post-receive

#服务端创建git同步代码目录
cd /code

git clone /home/git/sj/h5.git
#赋予目标权限读写权限
chmod -R 777 /code/h5

#服务端更新参考
git update-server-info

git checkout -f

#本地创建代码仓库

git clone git@you in ip:sj/h5.git
#添加多个仓库
git remote add dev git@you in ip:sj/h5.git

#切换权限
su root
#git赋予到nginx组
usermod -a -G git nginx

#设置代码目录权限
chown -R git:nginx /code
chmod -R 777 /code

#搭建参考 http://www.jianshu.com/p/11b380b6aa4d
#多仓库使用参考 http://wonux.tech/git-remote.html

mac下VirtualBox共享centos7文件解决方式

远程虚拟机以前请确认你是否?
1.设置共享目录
2.已下载扩展包
3.设置扩展包到对象虚拟机

#挂载需要的服务
yum -y install gcc++ gcc make kernel kernel-devel kernel-headers bzip2

#设置内核
ln -s /usr/src/kernels/3.10.0-327.28.2.el7.x86_64 /usr/src/linux

#挂载光驱

#创建光驱目录
mkdir /mnt/cdrom
#挂在光驱
mount /dev/cdrom /mnt/cdrom
#卸载光驱
umount /dev/cdrom /mnt/cdrom

#进入目录
cd /mnt/cdrom

#执行安装
./VBoxLinuxAdditions.run

#重起
shutdown -r now

#查看是否有vbox
ps -ef | grep -i vbox

#创建目录
mkdir /mnt/code

#挂载共享
mount -t vboxsf code /mnt/code

#重起
shutdown -r now

注意重起后会失效,需要在ssh脚本中进行设置

解决virtualbox最小化安装centos7后不能上网

#文件
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

#将
ONBOOT=no
#改为
ONBOOT=yes

#保存后重启网卡:

systemctl restart network.service

此时就可以上网了。

因为是最小化安装,此时ifconfig命令不能用,可用

#查看分配网卡情况命令
ip addr

#安装net-tools工具
yum -y install net-tools

#然后就可以正常的使用ifconfig

#如果有必要请
yum -y update

centos6.5 安装git 最新版本

#安装git需要的库
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker

#删除自带的git
yum remove git

#切换到目录
cd /usr/src

#可以去看看需要的版本号
https://www.kernel.org/pub/software/scm/git/

#这里选择下载git2.7.0版本
wget https://www.kernel.org/pub/software/scm/git/git-2.7.0.tar.gz

#解压缩
tar -zxvf git-2.7.0.tar.gz

#切换到git-2.7.0目录
cd git-2.7.0

#开始验证
./configure

#编译安装
make prefix=/usr/local/git all
make prefix=/usr/local/git install
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
source /etc/bashrc

#查看版本号
git --version

centos6.5 yum 安装php7,nginx1.8.1

#更新系统服务

yum -y update

#导入remi源

#64
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

#32
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

#资源库
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

#创建nginx.repo源文件

touch /etc/yum.repos.d/nginx.repo

#打开源文件内容

vim /etc/yum.repos.d/nginx.repo

#编辑器源文件内容

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

 

#更新源

yum --enablerepo=remi -y update 

#安装服务 php70,mysql,nginx,php-fpm
yum -y --enablerepo=remi,remi-php70 install nginx php-fpm php-common

#安装PHP模块
yum -y --enablerepo=remi,remi-php70 install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongodb php-pecl-redis php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml

#安装Mysql
yum -y install mysql mysql-server

#安装mysql扩展
yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql

#创建fastcgi.conf
touch /etc/nginx/fastcgi.conf

#打开fastcgi.conf
vim /etc/nginx/fastcgi.conf

#编辑fastcgi.conf

if ($request_filename ~* (.*)\.php) {
set $php_url $1;
}
if (!-e $php_url.php) {
return 403;
}
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;

#打开nginx.conf (ps:我的nginx是最新文档版本1.8.1)
vim /etc/nginx/nginx.conf

#编辑以下内容

user nginx;
worker_processes auto;

error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535;

events
{
use epoll;
worker_connections 65535;
}

http
{
include /etc/nginx/mime.types;
default_type application/octet-stream;

server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;

sendfile on;
tcp_nopush on;

keepalive_timeout 15;

tcp_nodelay on;

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
gzip_disable msie6;
#limit_zone crawler $binary_remote_addr 10m;
log_format '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log /var/log/nginx/access.log main;
include /etc/nginx/conf.d/*.conf;
}

#设置nginx 自启服务
/sbin/chkconfig --add nginx
/sbin/chkconfig nginx on

#nginx 启动
/sbin/service nginx start

#设置php-fpm 自启服务
/sbin/chkconfig --add php-fpm
/sbin/chkconfig php-fpm on

#php-fpm 启动
/sbin/service php-fpm start

#添加mysql 自启服务
/sbin/chkconfig --add mysqld
/sbin/chkconfig mysqld on

#mysql 启动
/sbin/service mysqld start

#设置MYSQL密码
mysqladmin -u root password 'new passwd'
#打开mysql
mysql -u root -p
#删除test数据库
DROP DATABASE test;
#删除匿名帐户
DELETE FROM mysql.user WHERE user ='';
#重载权限
FLUSH PRIVILEGES;

#设置一个独立的nginx 虚拟主机配置
cd /etc/nginx/conf.d

#创建一条zmq.conf
touch zmq.conf

#打开zmq.conf
vim zmq.conf

#编辑以下内容,对应请修改需要的ROOT目录

server {
listen 80;
server_name Domain name
index index.html index.htm index.php;
root you in path
location ~ .*\.(php|php5|php7)?$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 1h;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
access_log you in url/you in name.log;
}

其余提示

php-fpm 需要配置相关的权限

nginx 执行的程序目录也需要配置权限

centos6.5 yum install nginx php mysql

一、下载Remi源

32位系统选择:
rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
64位系统选择:
rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
导入key:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

远程导入Remi包

rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

导入key:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-remi

二、安装lnmp
更新系统rmp
yum --enablerepo=remi -y update
安装php

yum --enablerepo=remi,remi-php55 -y install nginx php-fpm php-common

安装Mysql
yum -y install mysql mysql-server
安装mysql扩展
yum  -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
安装php的扩展
yum --enablerepo=remi,remi-php55 -y install php-opcache php-pecl-apcu php-cli php-pear php-pdo php-mysqlnd php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-redis php-soap php-ldap php-mysql php-devel
三、启动服务配置
#增加mysql启动对象
/sbin/chkconfig --add mysqld
#开启启动mysql
/sbin/chkconfig mysqld on
 #设置php
/sbin/chkconfig php-fpm on
 #重启MySql
/etc/init.d/mysqld restart
#重启nginx
/etc/init.d/nginx  restart
 #启动php-fpm
/etc/rc.d/init.d/php-fpm start
配置系列:
一、配置nginx支持php
#备份原有配置文件
cp /etc/nginx/nginx.conf  /etc/nginx/nginx.confbak

#编辑
vi /etc/nginx/nginx.conf

#修改nginx运行账号为:nginx组的nginx用户
user  nginx  nginx;

#备份原有配置文件
cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.confbak

#编辑
vim /etc/nginx/conf.d/default.conf

#增加index.php
index index.php index.html index.htm index.php;

#取消FastCGI server部分location的注释,并要注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径
# pass the PHPscripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root          html;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
include       fastcgi_params;
}

二、配置php

#编辑
vim /etc/php.ini

#设置时间格式
date.timezone= PRC

#在386行列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。

disable_functions=passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status
,ini_alter,ini_restore,dl,openlog,syslog,readlink
,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen
,disk_free_space,checkdnsrr,getservbyname,getservbyport,disk_total_space
,posix_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid
,posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp
,posix_getpid,posix_getppid,posix_getpwnam,posix_getpwuid,posix_getrlimit,posix_getsid
,posix_getuid,posix_isatty,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid
,posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

#在432行 禁止显示php版本的信息
expose_php = Off

#大约745行 magic_quotes_gpc改为On = 防止SQL注入

magic_quotes_gpc = On

5.3以上版本为放弃的,不然报错
Starting php-fpm: [07-Sep-2015 14:17:22] NOTICE: PHP message: PHP Warning:  Directive 'magic_quotes_gpc' is deprecated in PHP 5.3 and greater in Unknown on line 0

#在380行,设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题,可注销此行,或者直接写上程序目录路径/var/www/html/www.osyunwei.com/:/tmp/
open_basedir = .:/tmp/

三、配置php-fpm

#备份原有配置文件
cp /etc/php-fpm.d/www.conf   /etc/php-fpm.d/www.confbak

#编辑
vi /etc/php-fpm.d/www.conf

#修改用户为nginx
user = nginx
#修改组为nginx
group = nginx

:wq

#############################################################################

测试篇
cd /var/www/html   #进入nginx默认网站根目录
vi  index.php   #新建index.php文件
<?php
phpinfo();
?>

:wq! #保存

#设置目录所有者
chown -R nginx:nginx /var/www/html
#设置目录权限
chmod -R  700 /var/www/html

在客户端浏览器输入服务器IP地址,可以看到相关的配置信息!

#############################################################################

备注
设置nginx默认站点目录是:/var/www/html
权限设置:
chown -R nginx:nginx /var/www/html

MySQL数据库目录是:
/var/lib/mysql
权限设置:
chown -R mysql:mysql  /var/lib/mysql

四、设置MYSQL
设置MYSQL密码
mysqladmin -u root password  'new passwd'
让mysql数据库更安全
此时会要求你输入刚刚设置的密码,输入后回车即可
选择Mysql数据库用户
        mysql -u root -p
 [删除test数据库]
        DROP DATABASE test;
 [删除匿名帐户]
        DELETE FROM mysql.user WHERE user ='';
 [重载权限]
         FLUSH PRIVILEGES;
#重启MySql
/etc/init.d/mysqld restart
#重启nginx
/etc/init.d/nginx  restart
#重启php-fpm
/etc/rc.d/init.d/php-fpm  restart
参考资料:
http://www.if-not-true-then-false.com/2010/install-apache-php-on-fedora-centos-red-hat-rhel/
http://www.myhack58.com/Article/sort099/sort0102/2014/42632_2.htm

 

centos 6.5 yum install nginx

查询rpm包是否存在nginx
yum list | grep nginx
如果不存在,执行yum 安装rpm包
yum install http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
ps:该项只有centos6.5 使用,其余版本未证实可使用
设置开机启动

chkconfig nginx on

# 启动Nginx服务

/etc/init.d/nginx start
# 停止Nginx服务
/etc/init.d/nginx stop
# Nginx配置文件位置
/etc/nginx/nginx.conf