配置服务器 Ubuntu 记录+踩坑
从零开始配置服务器用于ss+站点
1. SS
首先安装pyenv,安装pyenv之前先安装必要环境,具体命令行请见:
https://github.com/pyenv/pyenv/wiki/Common-build-problems
安装pyenv之后安装自己需要的py版本,再通过pip安装ss,完成SS安装。
2. 网站
偷懒,使用lnmp一键安装包:
如果服务器内存 <= 1G 会提示内存不足无法安装数据库,可跳过数据库的安装,稍后自行手动安装:
手动安装数据库:https://downloads.mariadb.org/
安装完lnmp后,找到nginx.conf,里面的配置应该比较成熟,不用进行太多修改,但是请把nginx log 那一行最后的 crit(意为仅记录严重错误?) 去掉,不然error log记录不全。
可按需修改 nginx.conf 的document root。
安装完数据库后,如遇使用 'localhost' 无法访问数据库而 127.0.0.1 可以的情况,参阅
http://www.jb51.net/article/54025.htm
附录: open_basedir
1. open_basedir
不想过多解释,先把这一个安全措施禁用掉比较方便,不然可能出现有些 PHP 框架如 Laravel 无法使用的问题。
找到与nginx.conf 在统一目录下的 fastcgi.conf,注释掉最后一行的 xxxx PHP_ADMIN_VALUE xxxxx
2. 创建新用户 + bash profile
注意创建后给用户分配bash而不要用默认的sh,可通过usermod进行这项修改: usermod /bin/bash/ [username]
如要自定义bash profile,请注意
用户在登录时会首先载入全局的 /etc/profile, 其次载入用户各自的 ~/.bash_profile (这个名字可以替换成其他两个意思差不多的文件名,具体忘了),但是似乎不会载入~/.bashrc,因此可以手动在 .bash_profile 加入载入 .bashrc 的代码:
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
3. 切换用户且保持profile最新
切换用户的时候使用 `su -` 而不是 `su`,前面那个命令会重新载入用户的profile,相当于exit再登录。
比如 su - jeff | su - root
奇怪,我记得明明遇到了比这里多得多的乱七八糟问题,结果写下来就剩这么点了?
配置服务器 Ubuntu 记录+踩坑的更多相关文章
- 在CentOS/Windows下配置Nginx(以及踩坑)
在CentOS/Windows下配置Nginx(以及踩坑) 1. 序言 因为这类文章网上比较多,实际操作起来也大同小异,所以我并不会着重于详细配置方面,而是将我配置时踩的坑写出来. 2. CentOS ...
- Win10 安装配置 MongoDB 4.0 踩坑记
redis 官方没有 Windows 版的,微软维护的已经好久没更新了,所以就在想着换成 MongoDB. 于是一趟被我复杂化的踩坑之旅就开始了,同时也记录一下,避免有人遇见跟我一样的问题. 首先在 ...
- Spring boot配置MongoDB以及Morphia踩坑记录
pom 因为项目中采用Morphia(MongoDB的ODM框架,对象-文档映射(object-document mapper)),因此需要在pom文件中引入相应依赖: <dependency& ...
- Ubuntu 奇怪踩坑记录
仓库ppa问题 当你使用 apt-get update 时候,提示 仓库 "http://ppa.launchpad.net/hzwhuang/ss-qt5/ubuntu bionic Re ...
- Ubuntu mysql踩坑记录
安装: 1.sudo apt-get install mysql-server 2. apt-get isntall mysql-client 3. sudo apt-get install lib ...
- 服务器端 CentOS 下配置 JDK 和 Tonmcat 踩坑合集
一.配置 JDK 时,在 /etc/profile 文件下配置环境变量,添加 #java environment export JAVA_HOME=/usr/java/jdk- export CL ...
- webpack中 resolve.alias 配置,@import相关踩坑
1.在使用webpack打包项目时,可以在配置文件中配置resolve.alias来定义一些绝对路径,方便在项目中灵活使用路径,举例如下: resolve: { extensions: [‘.js‘, ...
- 获取SpringCloud gateway响应的response的值,记录踩坑
最近在做网关改造,想要通过Gateway过滤器获取ResponseBody的值,查看了网上的帖子和官网内容: 帖子:https://cloud.tencent.com/developer/articl ...
- windows下node配置npm全局路径(踩坑)
事情的起因是:Koa要求v7.6.0以上的nodejs. 但是window环境下升级node不容易,试过npm install -g n 和n stable等命令无效,而网上推荐的nvm并不支持win ...
随机推荐
- 016 ppp authentication
Press RETURN to get started! Router>en Router#config t Enter configuration commands, one pe ...
- Java实现二叉搜索树及相关操作
package com.tree; import com.tree.BitNode; /** * * 二叉搜索树:一个节点的左子节点的关键字小于这个节点.右子节点的关键字大于或等于这个父节点 * * ...
- C#在Linux下获取文件夹信息(所在磁盘总大小,使用空间,已用空间,使用率)
1.第一种使用shell命令实现: private DiskInfo LinuxGetFolderDiskInfo(string path) { DiskInfo disk = new DiskInf ...
- 一个有趣的问题:ls -l显示的内容中total究竟是什么?
当我们在使用ls -l的命令时,我们会看到例如以下类似的信息. 非常多人可能对于第一行的total 12的数值并非非常在意,可是你是否想过,它到底是什么意思? man中的说明,我们能够看出total的 ...
- Java学习笔记----容器
一.Java Collections框架是什么? Java Collections 框架中包括了大量集合接口以及这些接口的实现类和操作它们的算法(如:排序.查找.反转.替换.复制.取最小元素.取最大元 ...
- android.app.Fragment与android.support.v4.app.Fragment不一致
在看法中用到的Fragment在类型转换的时候非常easy出现这样的问题: 对照代码: class MyFragmentPagerAdapter extends FragmentPagerAdapte ...
- 8-15 globalCompositeOperation阶段练习二
8-15 globalCompositeOperation阶段练习二 <!DOCTYPE html> <html lang="zh-cn"> <hea ...
- 分布式消息中间件Rabbit Mq的了解与使用
MQ(消息队列)作为现代比较流行的技术,在互联网应用平台中作为中间件,主要解决了应用解耦.异步通信.流量削锋.服务总线等问题,为实现高并发.高可用.高伸缩的企业应用提供了条件. 目前市面比较流行的消息 ...
- IntelliJ IDEA 缓存和索引介绍
转自:https://www.cnblogs.com/zhanghaibinblogs/p/6722061.html IDEA 在首次加载项目的时候都会创建索引,IDEA 的缓存和索引主要是用来加快文 ...
- json返序列化
ASP.NET中JSON的序列化和反序列化 http://www.cnblogs.com/zhaozhan/archive/2011/01/09/1931340.html 迟来的Json反序列化 ht ...