服务器技术文档
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
赞 0