SakuraDon

服务器重新搭建
时隔1年半,服务器终于被我重装了。本想是Apache换Nginx,因为Apache确实吃内存。但想了想干脆直接重装...
扫描右侧二维码阅读全文
24
2019/09

服务器重新搭建

时隔1年半,服务器终于被我重装了。本想是ApacheNginx,因为Apache确实吃内存。但想了想干脆直接重装,重新配置服务器,因为1年半前我也是照葫芦画瓢搭建的服务器,这次照着自己的需要重装一下。

添加www组和www用户

系统重装后,这次先分配好用户,www用户和www组只负责网站应用。包括后面的Nginxphp都让他们用www用户执行

groupadd www
useradd -g www www
passwd www

安装nginx

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install -y nginx

修改nginx用户

vim /etc/nginx/nginx.conf
user www www;

重启服务并设置开机启动

systemctl start nginx
systemctl enable nginx

/etc/nginx/fastcgi_params文件后添加,用于php文件正确解析

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

安装mysql5.7

本来想安装mysql8,但是不兼容typecho就还是换回5.7了。

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server

启动mysql

systemcel start mysqld

重设密码

grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';

允许任何外部可访问

use mysql
update user set host = '%' where user ='root';
systemctl restart mysqld

安装PHP7

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install php72w php72w-fpm php72w-cli php72w-common php72w-devel php72w-gd php72w-pdo php72w-mysql php72w-mbstring php72w-bcmath php72w-xml

设置php-fpm的执行用户为www

vim /etc/php-fpm.d/www.conf

# 更改下面配置
user = www
group = www

启动php服务并设置开机自启

systemctl start php-fpm
systemctl enable php-fpm

安装composer

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

安装配置git

yum install git

切换到www用户(git主要用于项目部署,而项目部署又是交由www用户)

git config --global user.name 用户名
git config --global user.email 邮箱

生成密钥对用于git身份验证。

ssh-keygen
# 提示输入文件名时给密钥命名为git_rsa,可能会用到多个密钥对所以不建议使用默认的id_rsa

Enter file in which to save the key (/home/www/.ssh/id_rsa): git_rsa

生成好的密钥默认在~/.ssh下,将git_rsa.pub添加到github中SSH keys

此时拉取项目是会提示公钥无效的,因为git会尝试用默认的id_rsa去进行校验。
我们需要在.ssh目录下建立config文件,内容如下。

Host github.com
IdentityFile ~/.ssh/git_rsa

然后修改config文件权限

chmod 600 config

此时就能正常的git clone项目了。

部署项目

在root用户下为www用户创建部署目录

mkdir /var/www
chown -R www.www www

typecho 项目

下面是typechoNginx的配置文件

server {
        server_name     blog.sakuradon.com;
        root            /xxx/blog;
        index           index.html index.htm index.php;

        if (!-e $request_filename) {
            rewrite ^(.*)$ /index.php$1 last;
        }

        location ~ .*\.php(\/.*)*$ {
                fastcgi_split_path_info ^(.+?.php)(/.*)$;
                fastcgi_index index.php;
                include fastcgi_params;
                fastcgi_pass  127.0.0.1:9000;
        }
}

laravel 项目

下面是laravel项目的Nginx的配置文件,注意要代理到/public目录下

server {
    server_name  sakuradon.com;
    index index.php;
    root /var/www/html/public;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        include        fastcgi_params;
    }


}   

配置免费https

先开启optional channel

yum -y install yum-utils
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

然后安装脚本

yum install certbot python2-certbot-nginx

启动脚本

certbot --nginx

如果安装或启动有莫名其妙的报错,先尝试下面的命令

pip install --upgrade --force-reinstall 'requests==2.6.0'

脚本会根据你的配置文件扫描域名,选择域名的时候建议一次只选择一个域名,生成一个证书。如果多个域名使用一个证书,当你删掉一些子域名后,证书续订将会失败,只能重新生成新的证书。

SSR

服务器不能少了SSR,还是用别人的脚本一键安装。

wget -q -N --no-check-certificate https://raw.githubusercontent.com/FunctionClub/SSR-Bash-Python/master/install.sh && bash install.sh

安装完脚本后会自动重启
重启后使用ssr执行ssr脚本,照着中文操作

如果要卸载脚本

wget -q -N --no-check-certificate https://raw.githubusercontent.com/FunctionClub/SSR-Bash-Python/master/install.sh && bash install.sh uninstall

据说安装锐速能提升SSR速度,我反正没感受到

下载并更换内核:

rpm -ivh http://xz.wn789.com/CentOSkernel/kernel-3.10.0-229.1.2.el7.x86_64.rpm --force

检查内核是否安装成功:rpm -qa | grep kernel
重启后查看内核版本uname -r

正式安装:

wget -N --no-check-certificate https://raw.githubusercontent.com/wn789/serverspeeder/master/serverspeeder.sh
bash serverspeeder.sh

End

一年半前是在真正意义上的折腾服务器,到了现在已经不知道在多少台服务器上留下过足迹了。lscdlscdls...
以前查命令查的乐此不疲,现在敲代码敲的怀疑人生。曾经想写出Change the world的东西,现在也只想工作之余接点活,挣点小钱。接触了社会才知道社会的残酷,才知道活着的压力。房、车、婚,都是些喜庆的东西,可为什么我一想到它们总是莫名的难受呢。老几辈的人是以活着为目标,现在的人是以活得比别人好为目标,这种潜移默化的改变,又是被谁影响的呢,还是社会所趋呢,将来的人又会是怎样的活着呢。

在技术博客里发牢骚属实不应该,只是半夜写文章内心有所感触,将来也许会删掉,也许不会。一年半的时间我学会了很多,但理我想达到的目标还是远远不够。活到老学到老或许做不到,但努力到不能努力为止,是一个人分内的事。

最終更新:2019 年 09 月 24 日 01 : 11 AM
あなたが私の記事があなたにとって有用であると感じるならば、それを感謝してください。