028-86261949

当前位置:首页 > 技术交流 > 服务器技术文档

服务器技术文档

2018/11/10 21:46 分类: 技术交流 浏览:29

1. Linux安装MySQL

  • 下载MYSQL源安装包

 shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

  • 安装MYSQL源

00001. shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm

00002. 

00003. shell> yum repolist enabled | grep "mysql.*-community.*"

 

  • 安装MYSQL
    • 直接yum安装最新版本

yum install mysql-community-server

  • 启动MYSQL服务端

systemctl start mysqld

  • 查看服务器运行状态

systemctl status mysqld

  • 获取临时密码

00001. cd /var/log/

00002. 然后cat mysqld.log

00003. 会看到中间有这一段:

00004. 

00005. 2018-10-14T04:08:31.956738Z 1 [Note] A temporary password is generated for root@localhost: 61ciOYtkg<zU

00006. 那么临时密码就是61ciOYtkg<zU(而不是61ciOYtkg),一个坑点

  • 登录MYSQL

00001. mysql -uroot -p enter之后 输入上面的密码

 

  • 修改密码但是会报错

00001. alter user 'root'@'localhost' identified by '2018zhao'

00002. 然后坑点又来了:ERROR 1819 (HY000): Your password does not satisfy the current policy requiremen 这是密码太简单,需要修改一下配置

 

  • 修改2个全局变量,虽然我不知道是什么意思,反正感觉就是很厉害的样子

00001. set global validate_password_policy=0;

00002. set global validate_password_length=1;

 

  • 再次执行第6步骤就ok
  • 授权其他机器登陆(反正照着做就可以了)

00001. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION; (mypassword就是外部链接需要输入的密码)

00002. 

00003. FLUSH PRIVILEGES;

 

 

 

2. Linux安装python

  • 安装编译所需要的库文件:

00001. yum groupinstall "development tools"#也可以只安装gcc:yum install gcc

00002. yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel expat-devel

 

  • 下载源码包:

00001. wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz

00002. #也可以在windows下面下载文件然后传进去

  • 找到这个压缩的文件,然后把它解压:

tar zxvf Python-3.6.1.tgz

  • 然后进去解压后的文件夹

cd Python-3.6.1

  • 编译配置:(建议提前建立文件夹,makedir)

./configure --enable-optimizations --prefix=/usr/local/python3

  • 编译

make

  • 安装

make install

  • 添加环境变量

00001. vi /etc/profile

00002. 添加 export PATH="$PATH:/usr/local/python3/bin"

 

  • 执行让修改生效

00001. source /etc/profile

  • 安装项目中的第三方包(python没有自带的)

Pip3 install numpy,pandas,pymysql,sqlachemy,等

 

 

3. Nginx配置文件

  • 产生yum的nginx配置文件

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

切换到insert模式,输入

00001. [nginx]

00002. name=nginx repo

00003. baseurl=http://nginx.org/packages/centos/7/$basearch/

00004. gpgcheck=0

00005. enabled=1

  • 使用yum安装

yum install nginx

  • nginx配置文件

vi /etc/nginx/nginx.conf

  • 注销这一行代码

#include /etc/nginx/conf.d/*.conf;

  • 换成这一行,后面是跟项目中nginx配置文件的地址

include /root/web/flask/*.conf;

  • 项目内代码(nginx):

00001. server{

00002. listen 80;

00003. server_name www.sunqikai.cn;#域名或者ip

00004. # 动态

00005. location / {

00006. include /etc/nginx/uwsgi_params;

00007. uwsgi_pass 127.0.0.1:9000;#本地uwsgi服务器的地址

00008. }

00009. # 静态

00010. location /static/ {

00011. root /root/web/flask;#静态的地址

00012. index index.html;

00013. }

00014. }

  • 项目内代码(uwsgi):

00001. [uwsgi]

00002. #指定socket文件,也可以指定为127.0.0.1:9000,这样就会监听到网络套接字,用nginx的时候就配socket , 直接运行的时候配 http

00003. socket=127.0.0.1:9000

00004. #设置socket的监听队列大小(默认:100)

00005. listen=120

00006. #指定项目目录,在配置多站点时,不要启用

00007. chdir=/root/web/flask/

00008. #当服务器退出的时候自动删除unix socket文件和pid文件

00009. vacuum = true

00010. #设置用于uwsgi包解析的内部缓存区大小为64k。默认是4k

00011. buffer-size=32768

00012. #等待这个工作结束的最长秒数

00013. reload-mercy=8

00014. #为每个工作进程设置请求数的上限,当一个工作进程处理的请求数达到这个值,那么该工作进程就会被回收重用(重启)

00015. max-requests=5000

00016. #这个配置会限制uWSGI的进程占用虚拟内存不超过256M

00017. limit-as=256

00018. #一个请求花费的时间超过了这个harakiri超时时间,那么这个请求都会被丢弃,并且当前处理这个请求的工作进程会被回收再利用(即重启)

00019. harakiri=60

00020. #项目文件

00021. wsgi-file=main.py

00022. #启动主进程

00023. master=true

00024. #启动2个工作进程

00025. processes=2

00026. callable=app

00027. #允许用内嵌的语言启动线程。这将允许你在app程序中产生一个子线程

00028. enable-threads=true

00029. #设置守护进程

00030. daemonize=/root/web/flask/uwsgi/uwsgi.log

00031. #指定pid文件

00032. pidfile=/root/web/flask/uwsgi/uwsgi.pid

00033. stats=/root/web/flask/uwsgi/uwsgi.status

4. 其它常用

  • 查看开放的端口:

netstat -tanp

  • 增加环境变量
    • 打开此文件

vi /etc/profile

  • 写入环境变量

export PATH="$PATH:/usr/local/python3/bin"

  • 执行修改

source /etc/profile

  • 查看centos的系统版本

cat /etc/issue

  • 重启nginx和uwsgi

00001. echo "正在停止服务"

00002. echo "杀死nginx服务和uwsgi服务"

00003. pkill -9 nginx

00004. echo "已经停止了nginx的运行"

00005. pkill -9 uwsgi

00006. echo "已经停止uwsgi的运行"

00007. echo "正在准备重启服务"

00008. echo "重启nginx和uwsgi"

00009. nginx

00010. uwsgi --ini /root/web/flask/uwsgi_conf.ini

00011. echo "服务已重启成功"

  • 执行shell文件报错,例如文件为abc.sh
    • 打开文件

vi abc.sh

  • 进入底部模式

esc

  • 设置格式为unix

:set fileformat=unix

  • 确定

enter

  • 保存

:x

  • 加权限

00001. #然后就可以执行了,如果权限不足还需要执行

00002. chmod a+x abc.sh

 

 

  • 解决time_wait过多,占用端口导致服务器崩溃

cat /proc/sys/net/ipv4/ip_local_port_range

echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse

echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle

 

  • 查看nginx的错误日志

cat /var/log/nginx/error.log

 

  感谢源码时代教学讲师提供此文章!
   本文为原创文章,转载请注明出处!

 

 

#标签:服务器,技术,MySQL